摘要:Locating faults in a program is prohibitively time-consuming and tedious, and therefore, many automated fault localization techniques have been proposed to assist in the debugging process. Spectrum based fault localization are promising techniques that can guide developers to the possible locations of faults. These techniques make a summary on the number of passing and failing tests cases to prioritize suspicious statements according to likelihood of containing program bugs for each statement. Though results are encouraging, these techniques treat all test cases as equally important, which ignore individual error diagnosis ability for different test cases. In this paper, we present an approach to exploit varying weights for individual test cases in the computation of suspiciousness scores so as to improve the effectiveness of spectrum based fault localization techniques. To validate our method, experiments were performed on eight typical SFL techniques using two standard benchmarks. Results are suggestive that for the studied SFL techniques, our method can significantly improve the fault localization effectiveness in most situations and in other cases it does not introduce much adverse impact on the techniques original performance.
关键词:fault localization; program spectrum; debugging; passed tests; failed tests