Font Size: a A A

Mutation Execution Optimization Methods For Mutation Based Fault Localization

Posted on:2019-05-10Degree:DoctorType:Dissertation
Country:ChinaCandidate:Y LiuFull Text:PDF
GTID:1368330551461145Subject:Control Science and Engineering
Abstract/Summary:PDF Full Text Request
Identifying the locations of the fault code in software systems is one of the most difficult and time-consuming step in software debugging.One of the most accurate fault localization technique,Mutation Based Fault Localization(MBFL),is proposed in recent years and can efficiently reduce the time required for developers to find errors.MBFL technology is a mutation testing based fault localization technology,which uses the results of mutants execute test cases to locate faults.Since the number of mutants and test cases of large-scale programs is relatively large,and original MBFL technology requires each mutant to execute all test cases,so MBFL technique is time expensive to implement.Take the subject program space for example,which is commonly used by researchers in the field of software engineering.The number of executed lines of code of space program is 5K?6K,generated mutants are close to 40,000,and there are more than 10,000 test cases,then using MBFL to locate faults in space program needs to perform about 500 million MTPs(Mutant-Test Pair).Even on a high-performance server,this process will take more than one week.Therefore,reducing the execution cost as much as possible while keeping the high accuracy of fault localization is significative for MBFL technology to be practically applied.This paper studies the MBFL optimization problem from various aspects,and aims to optimize the efficiency of MBFL implementation under the premise of maintaining high fault localization accuracy of the original MBFL technology.The research results in this paper can construct the foundation for MBFL technology from theoretical research to practical application.Specifically,the research contents of this paper are as follows:(1)MBFL oriented mutant static sampling strategy:By studying the relationship among sentence distribution,mutation operator distribution,fault distribution,and fault localization accuracy of the mutant set before and after sampling,two static mutant sampling strategies are proposed in this paper:fine-grained mutant sampling and fault distributed statement mutant reduction.Compared with the original MBFL,the strategies can reduce about 80%of mutants while under the premise of acceptable loss of fault localization accuracy,can effectively improve the efficiency of MBFL;(2)Mutant execution dynamic optimization strategy for MBFL:By studying the relationship among statement suspiciousness calculation,mutant suspiciousness calculation and mutant execution results,two dynamic optimization strategies are proposed for optimizing the execution of mutants and test cases.Experimental results show that MBFL with dynamic optimization strategy can averagely reduce 53.9%of the mutant execution while keeping the same fault localization accuracy with original MBFL.(3)Combining static and dynamic MBFL optimization technology:An integrated MBFL optimization technology framework which combines mutant static sampling and mutant execution dynamic optimization is proposed in this paper.The experimental results show that MBFL with this optimization technique can averagely save 87.9%mutant execution cost while preserving the fault localization accuracy compared with original MBFL.To sum up,this paper focuses on the expensive mutant execution cost problem of MBFL technique.In this paper,two mutant static sampling strategies are proposed before executing mutants to implement an effective reduction of mutants while keeping almost the same fault localization precision of original MBFL.During the process of mutant execution,two dynamic execution optimization strategies are proposed.Finally,an integrated MBFL optimization framework that combines static and dynamic optimization strategies is constructed,and the empirical results show that MBFL with this optimization framework can averagely save 87.9%of the mutant execution cost and keep almost the same fault localization compared with original MBFL.The findings of this paper can significantly improve the execution efficiency of MBFL,and construct a scientific foundation of MBFL technology from theoretical research to practical application.
Keywords/Search Tags:software debugging, mutation based fault localization, spectrum based fault localization, mutation execution reduction
PDF Full Text Request
Related items