2013 35th International Conference on Software Engineering (ICSE) (2013)
San Francisco, CA, USA
May 18, 2013 to May 26, 2013
Michael Whalen , Department of Computer Science and Engineering, University of Minnesota, USA
Gregory Gay , Department of Computer Science and Engineering, University of Minnesota, USA
Dongjiang You , Department of Computer Science and Engineering, University of Minnesota, USA
Mats P. E. Heimdahl , Department of Computer Science and Engineering, University of Minnesota, USA
Matt Staats , Division of Web Sciences & Technology, Korea Advanced Institute of Science & Technology, South Korea
In many critical systems domains, test suite adequacy is currently measured using structural coverage metrics over the source code. Of particular interest is the modified condition/decision coverage (MC/DC) criterion required for, e.g., critical avionics systems. In previous investigations we have found that the efficacy of such test suites is highly dependent on the structure of the program under test and the choice of variables monitored by the oracle. MC/DC adequate tests would frequently exercise faulty code, but the effects of the faults would not propagate to the monitored oracle variables. In this report, we combine the MC/DC coverage metric with a notion of observability that helps ensure that the result of a fault encountered when covering a structural obligation propagates to a monitored variable; we term this new coverage criterion Observable MC/DC (OMC/DC). We hypothesize this path requirement will make structural coverage metrics 1.) more effective at revealing faults, 2.) more robust to changes in program structure, and 3.) more robust to the choice of variables monitored. We assess the efficacy and sensitivity to program structure of OMC/DC as compared to masking MC/DC using four subsystems from the civil avionics domain and the control logic of a microwave. We have found that test suites satisfying OMC/DC are significantly more effective than test suites satisfying MC/DC, revealing up to 88% more faults, and are less sensitive to program structure and the choice of monitored variables.
Context, Observability, Semantics, Monitoring, Syntactics, Mathematical model, Delays
M. Whalen, G. Gay, D. You, M. P. Heimdahl and M. Staats, "Observable modified condition/decision coverage," 2013 35th International Conference on Software Engineering (ICSE), San Francisco, CA, USA, 2013, pp. 102-111.