JCSE, vol. 9, no. 3, pp.142-154, 2015
DOI: http://dx.doi.org/10.5626/JCSE.2015.9.3.142
Selecting Test Cases for Result Inspection to Support Effective Fault Localization
Yihan Li1,2*, Jicheng Chen1, Fan Ni1,2, Yaqian Zhao1,2, and Hongwei Wang1
1State Key Laboratory of High-end Server & Storage Technology, Inspur, Beijing, China, and
2School of Computer Science and Engineering, Beihang University, Beijing, China
Abstract: Fault localization techniques help locate faults in source codes by exploiting collected test information and have shown
promising results. To precisely locate faults, the techniques require a large number of test cases that sufficiently exercise
the executable statements together with the label information of each test case as a failure or a success. However, during
the process of software development, developers may not have high-coverage test cases to effectively locate faults. With
the test case generation techniques, a large number of test cases without expected outputs can be automatically generated.
Whereas the execution results for generated test cases need to be inspected by developers, which brings much manual
effort and potentially hampers fault-localization effectiveness. To address this problem, this paper presents a method to
select a few test cases from a number of test cases without expected outputs for result inspection, and in the meantime
selected test cases can still support effective fault localization. The experimental results show that our approach can significantly
reduce the number of test cases that need to be inspected by developers and the effectiveness of fault localization
techniques is close to that of whole test cases.
Keyword:
Fault localization; Debugging; Test case selection; Passed tests; Failed tests
Full Paper: 404 Downloads, 2309 View
|