Font Size: a A A

Software Fault Localization Based On Dynamic Failed Execution Blocks

Posted on:2021-02-09Degree:MasterType:Thesis
Country:ChinaCandidate:B Y PanFull Text:PDF
GTID:2428330602482614Subject:Engineering
Abstract/Summary:PDF Full Text Request
Software debugging includes fault localization and repair.Fault localization is the first step and also the most time-consuming and laborious work.Therefore,in order to improve the efficiency of fault localization,a variety of automation technologies emerged.Among them,the spectrum-based fault localization(SFL)technology has become one of the most effective methods because it does not depend on the system model and is easy to implement.SFL mainly relies on the execution spectrum data of the program,evaluates the suspicious degree of program elements by constructing the calculation formula of suspicious degree,and finally checks program errors in order according to the suspicious degree.Therefore,the accuracy of suspicious degree evaluation becomes the key to the effectiveness of SFL.However,researchers have proved that it is difficult to further improve the accuracy of fault localization by constructing a new formula of suspicious degree.Therefore,in this paper,a new method of fault localization based on dynamic fault execution block(DFEB)is proposed.Then,aiming at the problem that the current calculation formula of suspicious degree can not be effectively applied to different programs and different error test scenarios,based on DFEB technology,a new fault localization method which can dynamically adapt to test scenarios is designed.Finally,the effectiveness of the proposed method is verified by the experiment of Sir program test reference library.The main work and innovation achievements of this paper can be summarized as follows:(1)The fault localization method of dynamic fault execution block is proposed.Get all DFEB from the failure test case,get the suspicious degree value of each DFEB and each statement with the help of the suspicious degree calculation formula,and generate the fault localization report.Based on Siemens suite,space program and three UNIX programs,eight classical fault localization methods are compared.The empirical results show that this method has a good effect of fault localization.(2)A fault localization method based on dynamic prediction model is proposed.Based on the dynamic fault execution block and four factors of traditional SFL method,the new feature DFEB length is introduced,and the five features are derived and screened.The method of logical regression and random forest is used to train on Siemens single fault program,and Siemens multi fault version is used to test and verify.The experimental results show that compared with the other eight classical fault localization methods,the model obtained by random forest training has better fault localization effect.(3)A prototype tool of automatic fault localization experiment is designed and implemented.Based on Python language and shell script,the system implements the algorithm proposed in this paper,supports the whole process from spectrum data input to fault report output,and effectively improves the efficiency of test experiment execution.
Keywords/Search Tags:fault localization, SFL, dynamic fault execution block, logical regression, random forest
PDF Full Text Request
Related items