- Timestamp:
-
09/17/09 00:25:19 (15 years ago)
- Author:
-
GlennHumphrey
- Comment:
-
/* Applying Coverage Analysis to RTEMS */ Added a link to another section
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v47
|
v48
|
|
20 | 20 | Traditionally, Code Coverage Analysis has been performed by instrumenting the source code or object code or by using special hardware to monitor the instructions executed. The guidelines for the RTEMS code coverage effort were to use existing tools and to avoid altering the code to be analyzed. This was accomplished by using a processor simulator that provides coverage analysis information. The information was processed to determine which instructions are executed. We called this Object Code Coverage and we defined 100% tested to be 100% Object Code Coverage. |
21 | 21 | |
22 | | In addition to defining the method for determining 100% tested, it is also important to define what is actually being tested. We accomplished this by defining a set of [wiki:RTEMS_Coverage_Analysis#Coverage_Profiles Coverage Profiles] that allowed us to specify the feature set, configuration options and compiler options used when performing the analysis. This was important for two reasons. First, it allowed us to simplify the problem space (uncovered code) so that the goal was attainable. Second, we wanted to recognize that not all RTEMS users configure RTEMS in the same manner and we wanted 100% tested to be applicable to as many user configurations as possible. The first profile that we defined encompassed the RTEMS executive and was called the POSIX Enabled Profile. The RTEMS executive is a large body of code that is generally defined to contain the score, sapi, rtems, and posix directories in the cpukit directory. This represents the full tasking and synchronization feature set. More details about Coverage Profiles are discussed below. Initially, we set out to achieve 100% Object Code Coverage of the POSIX Enabled Profile. |
| 22 | In addition to defining the method for determining 100% tested, it is also important to define what is actually being tested. We accomplished this by defining a set of [wiki:RTEMS_Coverage_Analysis#Coverage_Profiles Coverage Profiles] that allowed us to specify the feature set, configuration options and compiler options used when performing the analysis. This was important for two reasons. First, it allowed us to simplify the problem space (uncovered code) so that the goal was attainable. Second, we wanted to recognize that not all RTEMS users configure RTEMS in the same manner and we wanted 100% tested to be applicable to as many user configurations as possible. The first profile that we defined encompassed the RTEMS executive and was called the POSIX Enabled Profile. The RTEMS executive is a large body of code that is generally defined to contain the score, sapi, rtems, and posix directories in the cpukit directory. This represents the full tasking and synchronization feature set. More details about [wiki:RTEMS_Coverage_Analysis#Coverage_Profiles Coverage Profiles] are discussed below. Initially, we set out to achieve 100% Object Code Coverage of the POSIX Enabled Profile. |
23 | 23 | = How it was Done = |
24 | 24 | |
… |
… |
|
190 | 190 | |
191 | 191 | * pc386 |
192 | | = SPARC = |
| 192 | = =SPARC == |
193 | 193 | |
194 | 194 | |
… |
… |
|
198 | 198 | * LEON2 |
199 | 199 | * LEON3 |
200 | | = References = |
201 | | |
202 | | = ==General Coverage Testing=== |
| 200 | = =References== |
| 201 | |
| 202 | |
| 203 | ===General Coverage Testing=== |
203 | 204 | |
204 | 205 | |