Font Size: a A A

The Research On Software Faults Localization Technique Based On Genetic Algorithm

Posted on:2021-04-18Degree:MasterType:Thesis
Country:ChinaCandidate:X R YuFull Text:PDF
GTID:2428330614953821Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Today,with the rapid development of the Internet economy,people are exposed to a variety of software products every day.Software has brought tremendous convenience to people in study,work and life.As software products continue to grow in size,functions become more complex,and software vulnerabilities become more frequent.People gradually begin to notice software quality issues.The development of software is to serve the public.The quality of a software determines the degree of use and revenue of the software.It makes no sense to develop a software that is not used.In order to develop a high-quality software,the tester needs to carry out a large amount of debugging work on the software program.Faults localization technology is an important task in the software debugging process.Efficient software faults localization technology can help testers quickly detect the locations of software faults,which is helpful for the subsequent software repair work.Therefore,the research on efficient software faults localization technology is an important and meaningful subject.Spectrum-based fault localization(SBFL)techniques has proven to be effective in a lot of research work on software faults localization technology.However,most of the existing automated or semi-automatic faults localization methods do not perform well in solving faults localization problems.The main reason is that most SBFL methods are designed for single fault problems,ignoring that software programs generally contain multiple faults.The mutual interference between multiple faults will change the program spectrum,affecting the software faults localization results.Some software faults localization methods with acceptable performance still need to be further improved due to higher complexity or more human-computer interaction.These methods still need further study.In order to improve the above problems,this article conducted in-depth theoretical research and experimental verification,the main work is as follows:1.In the software faults localization,considering the combination of faults and a single fault entity,an evaluation function for evaluating the suspiciousness of the program entity is designed.The function design makes full use of the information of different dimensions of the program spectrum.Not only considering the contribution of test cases to program entities,but also considering the contribution of program entities in test cases,so as to locate the locations of software faults accurately.2.A software faults localization method based on genetic(GA-SFL)algorithm isproposed to improve the efficiency of software faults localization.Before the fault localization,the spectrum information of the program is reduced to reduce the search space for subsequent faults localization work.When using genetic algorithm to search for the optimal fault distribution population,it mainly optimizes and improves the initial population generation stage to improve the accuracy and efficiency of the software faults localization algorithm.Finally,according to the suspiciousness values of the optimal fault distribution population and the position distribution probability of the program entities in the population,the sequence table of the program entities is obtained,then the software faults are located in turn.3.Based on the positions of the fault entities in the sorting table,two evaluation indexes F-avg and F-mid to evaluate the effect of software faults localization methods are designed.F-avg and F-mid refer to the average number of positions where all fault entities are arranged in the sorting table and the median of positions where all fault entities are arranged in the sorting table.They can better describe the position distribution of software faults in a software program containing multiple faults.The experimental research takes the 7 programs in the Siemens suite as the research object.Combined the classic evaluation indicators EXAM,EXAMF,EXAML and the faults localization evaluation indicators F-avg,F-mid proposed in this paper,the GA-SFL method is compared with the classic fault localization methods(Tarantula,Jaccard And Ochiai)and the recently proposed GAMFal method.In the case of less human-computer interaction,the experimental results show that the GA-SFL method proposed in this paper is better than the compared methods in terms of software faults localization efficiency.
Keywords/Search Tags:Software Faults Localization, Program Spectrum, Genetic Algorithm, Suspiciousness, Evaluation Indexes
PDF Full Text Request
Related items