Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

Changes between Version 93 and Version 94 of TBR/UserManual/RTEMS_Coverage_Analysis


Ignore:
Timestamp:
07/04/11 20:13:40 (13 years ago)
Author:
JoelSherrill
Comment:

/* Achieving Statement Coverage */ Update

Legend:

Unmodified
Added
Removed
Modified
  • TBR/UserManual/RTEMS_Coverage_Analysis

    v93 v94  
    191191
    192192
    193 Achieving Statement Coverage requires knowing which source files are involved (which we do) and which lines in those files can produce assembly code (which I don't think we do 100%).  We can easily know which lines are comments and blank but beyond that will require some thought. 
    194 
    195 The current object coverage utility ''covmerge'' can be modified to generate a report of which source lines were covered. It could generate a bitmap per source file where the bit index indicates if a source line in that file was executed or not.  If we can generate a similar bit map from the source code which marks comments and other non-executable source lines as covered, then the union of the two bitmaps can be used to generate a report showing which source lines are not covered or represented in the object code.  This may indicate dead code or weaknesses in the tests.
    196 
    197 This is definitely an open project at this point.
     193Achieving Statement Coverage requires knowing which source files are involved (which ''covoar'' does) and which lines in those files can produce assembly code (which I don't think ''covoar'' can).  If any dead source code in RTEMS is detected by the combination of  gcc and Coverity Scan, then we can assume that all source code in RTEMS is represented in the generated executables. 
     194
     195The current object coverage utility ''covoar'' reports on which source lines were covered.  It could easily be modified to generate a report indicating which source lines were covered, not covered, or only partially covered.
     196
     197''covoar'' could also generate a bitmap per source file where the bit index indicates if a source line in that file was executed or not.  If we can generate a similar bit map from the source code which marks comments and other non-executable source lines as covered, then the union of the two bitmaps can be used to generate a report showing which source lines are not covered or represented in the object code.  This may indicate dead code or weaknesses in the tests.
     198
     199Adding a statement coverage report to ''covoar'' is an open project.
    198200= Achieving Condition/Decision Coverage =
    199201