Font Size: a A A

Design And Implementation Of Fault Fixing System Based On Mutation Testing

Posted on:2017-05-08Degree:MasterType:Thesis
Country:ChinaCandidate:X H WangFull Text:PDF
GTID:2308330509457572Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Continuous development in the information society of today, as the core of information technology, the software industry due to its strong permeability and radiation effect, the improvement of the national economy and social development have played a role. In a manner of speaking, the software is in the form of data to redefine our world.With the rapid development of information enterprises and software products becoming diverse,people get great benefits.However, even if the software of highest quality may still contain faults, which in turn may cause the software to fail,such that the program needing to be debugging.Debugging process of failure process is divided into two steps: first step fault localization, the second step fault fixing.Now, researchers put forward a series of fault localization technology to detect fault in the software program, however,these studies are limited to find fault in the software, and there is no processing of analysis and fixing of the detected fault information.Even if a fault has been detected and located,the burden of fixing the fault is still left to the programmer.Mutation testing is originally used to evaluate the effectiveness of the test set and generate Test Suite.The main idea behind mutation testing is to introduce plausible faults in the original program.This process leads the tester to generate an effective test set that may help finding real faults in the program.Later, Mutation testing is used in fault localization and fault fixing by researchers.Therefore, this paper focuses on the direction of fault fixing and the following works have been done:First of all, through lexical grammar analysis of the original correct program and faulty version to generate the corresponding abstract syntax tree, and the use of a pile technology to obtain the execution path information of the under-test program,and extract random failure and success test cases and theirs execution results, the study of test cases to reduce the overhead of mutant examination process.Second, the software experiment uses two fault localization technologies Tarantula and Ochiai, by statistically analyzing the execution of the statement information, generating the suspicious ranking list, the study of impact of the fault location technologies on the efficiency of the whole process of fault fixing.Then, in order to fix the located fault, the paper take eight preset mutation operators, prior mutating top statements of suspicious ranking list according to a certain proportion and generating mutants.In addition, with TCC compiler perform mutants on extracted random test cases, mutants executing all test cases successfullyvalidating mutants as potential fixings.Finally, the system based on mutation testing is developed and based on Siemens Suite,test results showing that fault fixing based on the mutation testing is feasible.
Keywords/Search Tags:fault localization, fault fixing, mutation testing, mutant, mutant operator
PDF Full Text Request
Related items