Font Size: a A A

Research On Key Techniques Of Spectrum-based Software Fault Localization

Posted on:2018-11-28Degree:MasterType:Thesis
Country:ChinaCandidate:M X HuangFull Text:PDF
GTID:2348330512479807Subject:Engineering
Abstract/Summary:PDF Full Text Request
Fault localization is the most expensive and time-consuming activity in software debugging.Automated fault localization techniques can effectively guide the developers to locate and correct the root of faults,which have become the common goal of the industrial and academic community.For the easy implementation and regardless of internal structure,spectrum-based fault localization(SFL)technique is amongst the most effective methods.The efficiency of fault localization depends on two key factors: the construction of spectrum formula and the selection of test cases.Although traditional spectrum methods consider each spectrum factor,they don't make the best of the potential relationship between the program spectra and the corresponding execution results.This type of method will limit the effectiveness of locating faults.In addition,Traditional test case selection methods seldom consider the coincidental correctness test cases(CCT).The existence of CCT will reduce the suspiciousness of fault statement.The proposed methods to identify the CCT may lead to a high false negative and false positive for the reason that these methods ignore the high-dimensional data from test case execution trace.Regarding construction of spectrum formula and the selection of test cases,the main work of this paper can be summarized as follows:(1)To formally describe and accurately quantify this relation,this paper introduces the conception of conditional probability to construct a P model,by using the statistical analysis of experimental data.Then,based on the presented P model,a novel fault localization method is proposed to effectively locate the faulty statement of the program under test.Finally,taking seven programs contained in the Siemens suite and Space program as the benchmark,a detail experiment is conducted to evaluate the effectiveness and efficiency of the proposed method.Compared with thirteen classic fault localization methods,the experimental results show that our approach is more promising.(2)This paper analyses the deficiency of traditional methods about identifying the CCT and proposed a data preprocessing method based on the weight of program spectrum.The approach can reduced the dimensions and denoised the data to eliminate the interference of irrelevant statement.Finally,we used the K-means methods to cluster the data.Taking the Siemens suit as benchmark,the experimental results show that our approach outperforms the tradition methods in terms of accuracy on identifying the CCT.(3)Using the approaches we proposed,SFL experiment prototype system has been designed and implemented,which is based on the PHP language and Shell Script.The primary function of the system includes automatic collection of coverage information,the extraction of intermediate results,data preprocessing,outputting suspicious reports,and so on.The developed system can offer a series of convenient operation for the researchers.
Keywords/Search Tags:fault localization, program spectrum, conditional probability, coincidental correctness, cluster analysis
PDF Full Text Request
Related items