Mutate Suspicious Statements to Locate Faults
摘要
In the process of software development, fault localization is an important part of software quality assurance, which can help developers identify code locations that may cause program failures. For faults in software programs, researchers have proposed many different fault localization techniques, such as spectrum-based fault localization (SBFL), mutation-based fault localization (MBFL), and more. These technologies have shown good results in fault localization, but they also have their limitations. SBFL technology only considers the execution of individual statements, without analyzing the dependencies between contextual statements, potentially leading to the localization of non-faulty statements. Moreover, SBFL technology has relatively high requirements for the quality of test cases. While MBFL technology improves accuracy compared to SBFL, it requires the execution of a large number of mutated versions and test cases for the target program, resulting in higher time costs. Therefore, this paper proposes a new method: Mutate suspicious statements to locate faults. First, SBFL technology is used to identify suspicious statements within the target program. These suspicious statements are then mutated to create mutants that are subsequently tested. Finally, the suspiciousness of these statements is calculated to pinpoint faults. Experiments show that this method enhances localization accuracy, reduces time costs, and proves effective.