Information and Software Technology 55 (5): 897-917 (2013)

On the Adoption of MC/DC and Control-Flow Adequacy
for a Tight Integration of Program Testing and Statistical Fault Localization

Bo Jiang 2 , Ke Zhai 3 , W.K. Chan 4 , T.H. Tse 3 , and Zhenyu Zhang 5

[paper from ScienceDirect | technical report TR-2012-14]


Context: Testing and debugging consume a significant portion of software development effort. Both processes are usually conducted independently despite their close relationship with each other. Test adequacy is vital for developers to assure that sufficient testing effort has been made, while finding all the faults in a program as soon as possible is equally important. A tight integration between testing and debugging activities is essential.

Objective: The paper aims at finding whether three factors, namely, the adequacy criterion to gauge a test suite, the size of a prioritized test suite, and the percentage of such a test suite used in fault localization, have significant impacts on integrating test case prioritization techniques with statistical fault localization techniques.

Method: We conduct a controlled experiment to investigate the effectiveness of applying adequate test suites to locate faults in a benchmark suite of seven Siemens programs and four real-life UNIX utility programs using three adequacy criteria, 16 test case prioritization techniques, and four statistical fault localization techniques. We measure the proportion of code needed to be examined in order to locate a fault as the effectiveness of statistical fault localization techniques. We also investigate the integration of test case prioritization and statistical fault localiza┬Čtion with postmortem analysis.

Result: The main result shows that on average, it is more effective for a statistical fault localization technique to utilize the execution results of a MC/DC-adequate test suite than those of a branch-adequate test suite, and is in turn more effective to utilize the execution results of a branch-adequate test suite than those of a statement-adequate test suite. On the other hand, we find that none of the fault localization techniques studied can be sufficiently effective in suggesting fault-relevant statements that can fit easily into one debug window of a typical IDE.

Conclusion: We find that the adequacy criterion and the percentage of a prioritized test suite utilized are major factors affecting the effectiveness of statistical fault localization techniques. In our experiment, the adoption of a stronger adequacy criterion can lead to more effective integration of testing and debugging.

Keywords: Debugging, testing, adequacy criterion, MC/DC, branch coverage, fault localization, test case prioritization

1. This research is supported in part by the General Research Fund of the Research Grants Council of Hong Kong (project nos. 111410 and 717811), a strategic research grant of City University of Hong Kong (project no. 7002673), grants of the National Natural Science Foundation of China (project no. 61003027 and 61202077), and the Fundamental Research Fund for Central Universities (project no. YWF-12-LXGY-008). Part of this research was conducted when Tse was a visiting scholar at the State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, China.
2. School of Computer Science and Engineering, Beihang University, Beijing, China.
3. Department of Computer Science, The University of Hong Kong, Pokfulam, Hong Kong.
4. (Corresponding author.)
Department of Computer Science, City University of Hong Kong, Tat Chee Avenue, Hong Kong.
5. State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, China.


  Cumulative visitor count