University of Minnesota
Software Engineering Center
/

You are here

On MC/DC and Implementation Structure: An Empirical Study

Date of Publication: 
October 2008
Associated Research Groups: 
Publication Files: 
Abstract: 
In civil avionics, obtaining D0-178B certification for highly critical airborne software requires that the adequacy of the code testing effort be measured using a structural coverage criterion known as Modified Condition and Decision Coverage (MC/DC). We hypothesized that the effectiveness of the MC/DC metric is highly sensitive to the structure of the implementation and can therefore be problematic as a test adequacy criterion. We tested this hypothesis by evaluating the faultfinding ability of MC/DC-adequate test suites on five industrial systems (flight guidance and display management). For each system, we created two versions of the implementations—implementations with and without expression folding (i.e., inlining). We found that for all five examples, the effectiveness of the test suites was highly sensitive to the structure of the implementation they were designed to cover. MC/DC test suites adequate on an inlined implementation have greater fault finding ability than test suites generated to be MC/DC adequate on the non-inlined version of the same implementation at the 5% significance level. (The inlined test suites outperformed the non-inlined test suites in the range of 10% to 5940%.) This observation confirms our suspicion that MC/DC used as a test adequacy metric is highly sensitive to structural changes in the implementation, and that test suite adequacy measurement using the MC/DC metric will be better served if done over the inlined implementation.
Publisher: 
IEEE
Venue: 
Proceedings of the 27th Digital Avionics Systems Conference (DASC’08) (Best Paper of Session: Software Design)
bibtex: 
@conference{Whalen08:DASC_MCDC, title={On MC/DC and Implementation Structure: An Empirical Study}, author={Michael W. Whalen and Mats P.E. Heimdahl and Ajitha Rajan and Matt Staats}, booktitle={Proceedings of the 27th Digital Avionics Systems Conference (DASC’08)}, month={October}, year={2008}, address={St. Paul, MN}, organization={IEEE} }