Defect Removal
Trigger Coverage
Verification and review activities are employed during software development to ensure the software is reliable. The quality of these activities influences defect removal and overall software quality. Orthogonal defect classification (ODC) indicates that reviews performed during the software life cycle can help identify and remove defects. Depending on the review, specific concepts, or triggers, are employed and may bring out defects or allow them to surface. High-quality review activities should employ these triggers during each stage of the SDLC, thereby reducing the probability of defects remaining within the software. On this basis, trigger coverage has been selected as a metric for defect removal. The stage-level trigger coverage (TC), given by Eq. 10, is determined from the average of each task-level trigger coverage (tc), which is the percent of relevant triggers that have been covered for a task in a particular SDLC stage. Note that T is the total number of relevant tasks for a given stage.
(10)TC = \frac{1}{T} \sum_{i=1}^{T} (tc)_i
Review
In addition to trigger coverage, the average number of reviews for a given SDLC stage is also referenced as a metric for defect removal. When tasks are reviewed or checked, they are less likely to fail. Checkers are considered in human reliability analysis (e.g., THERP) and represent recovery paths for a given activity. The average number of reviews for a particular stage is defined by Eq. 11, where r is the average number of reviews performed for each relevant task and T is the total number of relevant tasks for a given stage. As an example, for a given task, some triggers may be reviewed or checked multiple times, whereas others are not. The average of these reviews represents r.
(11)R = \frac{1}{T} \sum_{i=1}^{T} (r)_i
ODC Triggers
Table 2 shows the typical mapping of the triggers and review activities. Our work adopts this mapping for convenience.
Review Activities |
Triggers |
For use during review activities associated with concept, design, and implementation stages of the software development life cycle. |
Design Conformance Logic/Flow Backward Compatibility Lateral Compatibility Concurrency Internal Document Language Dependency Side Effect Rare Situations |
For use during review activities associated with testing stages of the software development life cycle. |
Simple Path Complex Path Test Coverage Test Variation Test Sequencing Test Interaction Workload/Stress Recovery/Exception Startup/Restart Hardware Configuration Software Configuration Blocked Test (Previously Normal Mode) |