Test Case Generation Techniques for Fault Root Cause Localization

Hao Du, Chengshan Gao, Zhaotun Ma · 2024

Fault root cause localization is a critical phase in software debugging, and spectrum-based fault localization methods represent a focal point in research on automated software debugging. However, the effectiveness of these methods largely hinges on the quality of the test cases. The generic applicability of test inputs varies significantly across different types of software, while randomly generated test inputs often suffer from overfitting or excessive noise, leading to significant errors in the analysis results, which limits the practical application scenarios of such technologies. To address the issues in test case generation, this paper proposes a staged exploration method based on crash paths, named Dgenerate. Firstly, binary instrumentation is employed to instrument path information at the basic block level during the program's input execution phase. Based on this information, the original test inputs are categorized into ordinary and guiding types. Subsequently, a dynamic energy scheduling algorithm is utilized to explore crash-related paths, generating high-quality test cases. Finally, the test cases are executed on the original program, and runtime information is traced. Statistical analysis is then applied to effectively pinpoint the location of the program faults. We conducted experiments on fifteen real-world CVE vulnerabilities from six different types of software. The results show that the test cases generated by Dgenerate can improve the localization efficiency by 75% on average compared to the previous techniques, which verifies the feasibility and practicability of the method in this paper.

Read the paper · More papers on PaperTik