Font Size: a A A

Research On Execution Slice-based Software Fault Localization Methods

Posted on:2019-04-24Degree:MasterType:Thesis
Country:ChinaCandidate:L WangFull Text:PDF
GTID:2348330542472648Subject:Engineering
Abstract/Summary:PDF Full Text Request
The expansion and the increasing complexity of software system have put forward new challenges to the software debugging technology.Software fault location is an important step in debugging.However,manual localization is inefficient.Therefore,automated software fault location becomes a common goal pursued by academia and industry.Spectrum-based fault localization(SFL)and program invariant-based fault localization(IFL)are two representative methods.The positioning efficiency and precision are important indexes to evaluate methods.The key of the SFL is to calculate the suspiciousness.However,it is very difficult to further improve the positioning efficiency of SFL by constructing a suspiciousness formula.IFL uses conflict information of the program invariants to reveal the location of program fault.But,the prevalence of coincidental correctness test cases severely damages the positioning precision of IFL.The execution slice is the set of program code that test case coverage?It can be divided into failed execution slices and successful execution slices based on the results of test running.The current fault location method does not fully excavate the fault disclosure ability of the execution slice.Therefore,this paper studies the fault location utility of the execution slice,and defines utility evaluation function f for the execution slice.Then,based on the utility measurement of failed execution slice,we proposed failed execution slice-based fault localization method(FES),which further improves fault location efficiency of SFL.According to the utility measurement of successful execution slice,we proposed successful execution slice-based test cases generation method(SES),which is good for high precision program invariants generation.Finally,based on the implementation of algorithm,a fault localization experiment prototype system is implemented,and the feasibility and effectiveness of the proposed method are verified by the experiment.The main works of this paper are summarized as follows:(1)Proposed utility evaluation function f and failed execution slice-based fault localization method.Experiments use 12 classic suspiciousness metrics and 11 well-known benchmark programs including Siemens suite,Space and so on.Experimental results show that FES can improve the fault location efficiency by an average of 30% compared with SFL.We also design correlation experiments.Experimental results display the effectiveness of utility evaluation function.(2)Proposed successful execution slice-based test cases generation method.The experiments contain 114 faulty program versions.Experiments results indicate that using test cases generated by this method to mining program invariants can obviously reduce the false negative of likely program invariants,thus enhancing the ability of program invariants to reveal program faults.(3)Designed and implemented automation fault localization experiment prototype system.According to the modular design idea,the system is divided into 4 parts: configuration module,public function module,function realization module and description document module.It can realize the automatic operation of the whole process from inputting test case to outputting fault localization efficiency by specific method.
Keywords/Search Tags:fault localization, execution slice, utility evaluation function, program spectrum, correlation analysis, coincidental correctness
PDF Full Text Request
Related items