Font Size: a A A

Search Based Automated Program Repair For Multiple Faults

Posted on:2021-04-17Degree:MasterType:Thesis
Country:ChinaCandidate:AbroFull Text:PDF
GTID:2428330605976056Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
While developing a software,bugs are unavoidable phenomena,practically multiple bugs can occur in a software.When the bugs occurred,there are two main steps for problem solution,first fault localization and then repair it.The effectiveness of current fault localization and automatic program repair(APR)techniques can be affected by the coexistence of the multiple bugs.So when localizing bugs,it is necessary to identify the relationship between the bugs and test cases for multiple faults.Several techniques for repairing the bugs have been proposed and the main attention of those techniques sticks on how to automatically repair a single fault effectively and efficiently which is not practically applicable in most of the cases because in real world most of the programs contain multiple bugs which are connected to each other by test cases.In case of automatic repair of multiple faults of a program no,such effective research has been conducted in recent years.The idea of performing automatic multi-fault repair is combining a multiple fault localization with an automatic repair approach to repair all the faults of a given program.This is a primary research topic in terms of multi-fault repair.In order to deal with the problems above,we propose a search based APR for multiple faults using k-medoids clustering with fault localization and mutation to automatically repair all the bugs of a program.This technique first generates the multiple fault localization information using K-medoids clustering and Dstar fault localization by inspecting the relationship between the test cases and bugs.This inspection specify which test case is related to what bug and it is done by identifying the test cases while clustering.Identifying this relationship is much necessary to repair the multiple faults,taking the advantage of this fault localization information,the proposed technique generates a nonrandom initial population with individuals generated from statement positions and a mutation operator.These individuals are rough patches which are further validated,then a hybrid crossover containing two types of crossover is adopted to accelerate the entire search space for fault repair.The experiments were conducted on 7 programs from SIR(Software-artifact Infrastructure Repository).The results obtained indicates that our proposed approach is effective and efficient in repairing the multiple fault versions of programs automatically.The fault localization approach used in our approach is effective in localizing and identifying the relationship between the test cases,and the search based repair approach can efficiently repair the fault suggested by fault localization information.
Keywords/Search Tags:fault localization, k-medoids clustering, automated program repair, mutation, Multiple faults
PDF Full Text Request
Related items