Font Size: a A A

Research On Spectrum-based Software Fault Localization Methods

Posted on:2017-03-11Degree:MasterType:Thesis
Country:ChinaCandidate:T T YeFull Text:PDF
GTID:2308330482480642Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Testing is a key stage in the development cycle of software, and it is an essential means to ensure the quality of software. The testing detects faults based on running program against a set of selected test cases(called test suites) and observing the output of the system under test.Automatic fault localization methods play an important role in facilitating the quick and accurate localization of faults in programs.Spectrum-based fault localization(SFL) becomes popular because it is independent of the system model as well as easy to be implemented. Unfortunately, since this method is based on the binary coverage information, its diagnostic accuracy is inherently limited, especially when faults occur in the iteration statements or loop bodies.To address this problem, we introduce statement frequency conception into Tarantula method which is one of the classical methods of SFL and then propose a fault localization method based on statement frequency. In briefly, our approach includes these steps: firstly,counting the statement frequency of each program statement in each test case execution so as to construct a statement frequency matrix; Secondly, each weighted element of the constructed matrix is normalized to a value between 0 and 1; And finally, the proposed approach computes the suspiciousness of each statement according to its frequency value and generates a test report based on the suspiciousness of each detected statement in descending order.The main research work and innovative achievements of this paper are summarized as follows:(1) This paper proposes FLSF approach that extends the structure of Tarantula’s metric along with statement frequency matrix and result matrix, rather than evaluating the suspiciousness of each statement being faulty with the coverage information. Thus, FLSF can extend the application of existing SFL techniques to programs with many loops.(2) We introduce mapping function f(x) to Tarantula method to normalize weighted statement frequency to a number in the range 0 through 1. The suspiciousness of each statement in a program is calculated through the normalized statement frequency which is distributed in[0,1).(3) We propose two risk evaluation formulas to compare the effectiveness of the proposed method against the Tarantula and realize the experimental platform of automatic faultlocalization. We also conduct a case study involving seven programs. The results of our experimental show that our method outperform Tarantula in most situations with regard to stability and effectiveness.
Keywords/Search Tags:Fault Localization, SFL, Tarantula, Statement Frequency, Effectiveness, Stability
PDF Full Text Request
Related items