Changes between Version 18 and Version 19 of GCI/Documentation/CoverageAnalysis/Coverage
- Timestamp:
- 12/09/18 05:47:30 (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GCI/Documentation/CoverageAnalysis/Coverage
v18 v19 4 4 5 5 6 RTEMS is used in many critical systems. It is important that the RTEMS Project ensure that the RTEMS product is tested as thoroughly as possible. With this goal in mind, we have set out to expand the RTEMS test suite so that 100% of the RTEMS executive is tested. [http://www.rtems.org/ftp/pub/rtems/people/joel/coverage/ Current coverage results]. [http://km-for-socis2012rtems.blogspot.com/2012/08/first-task.html Lessons learned from 2012] 6 RTEMS is used in many critical systems. It is important that the RTEMS Project ensure that the RTEMS product is tested as thoroughly as possible. With this goal in mind, we have set out to expand the RTEMS test suite so that 100% of the RTEMS executive is tested. 7 8 [http://km-for-socis2012rtems.blogspot.com/2012/08/first-task.html Lessons learned from 2012] 7 9 8 10 There are numerous industry and country specific standards for safety including [http://en.wikipedia.org/wiki/DO-178B FAA DO-178B] for flight software in the United States. There are similar aviation standards in other countries as well as in domains such as medical devices, trains, medical and military applications. As a free software project, the RTEMS Project may never have a complete set of certification paperwork available for download. But we would like to ensure that RTEMS meets the technical requirements that are shared across these safety and quality oriented standards. … … 11 13 12 14 Be active and help us meet your application domain requirements while improving the product for all! 15 13 16 = Applying Coverage Analysis to RTEMS = 14 17 15 16 In order to achieve the 100% tested goal, it is important to define what constitutes 100% tested. A lot of information exists about how to completely test a software application. In general, the term [http://en.wikipedia.org/wiki/Code_coverage Code Coverage] is used to refer to the analysis that is performed to determine what portions of the software are tested by the test suite and what portions are not tested. It should be noted that Code Coverage does not prove correctness, only that all code has been tested. For some background information on Code Coverage Analysis, see [wiki:Developer/Coverage/Theory Coverage Analysis Theory]. 18 In order to achieve the 100% tested goal, it is important to define what constitutes 100% tested. A lot of information exists about how to completely test a software application. In general, the term [http://en.wikipedia.org/wiki/Code_coverage Code Coverage] is used to refer to the analysis that is performed to determine what portions of the software are tested by the test suite and what portions are not tested. It should be noted that Code Coverage does not prove correctness, only that all code has been tested. For some background information on Code Coverage Analysis, see [wiki:GCI/Documentation/CoverageAnalysis/Coverage#CoverageAnalysisTheory Coverage Analysis Theory]. 17 19 18 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.