Font Size: a A A

Research On The Effect Of Reusing Noise-containing Patches On Automatic Program Repair

Posted on:2019-08-19Degree:MasterType:Thesis
Country:ChinaCandidate:H GaoFull Text:PDF
GTID:2428330611493407Subject:Software engineering
Abstract/Summary:PDF Full Text Request
As a knowledge-intensive product,software defects cannot be completely avoided during the development process.In order to locate,repair the defects and keep the system running normally,activities of debugging and maintenance have to almost run through the entire software development life,which takes a lot of time and human resource costs.The researchers have designed a variety of prototyping tools for automatic program repair(APR).These tools aim to wrap the process of defect location,patch generation,and verification to computers,and reducing maintenance costs.After decades of development,open source software has played a more and more important role in software engineering.The continuously established open source software project and the revision's iterations provide a wide range of data sources for the in-depth study of the essential laws of software engineering,as well as a knowledge base for the related research that used open source software.The automatic program repair of reusing patches is a typical example of combining APR with mining software repositories.It guides the APR to produce correct fixes by learning the patch knowledge of the open source software community.However,due to the redundant and supplementary noise of the open source community patches,whether these noises have an impact on the repair results has become a major problem in our study.Firstly,this paper summarizes the automatic program repair of reusing patches into two categories: reusing patches during the patch generation or patch verification stages.Then,it confirms the existence of redundant patches in multiple projects and follows the two strategies of deleting and adding to find the impact of redundant patches.Furthermore,we simulate supplementary patches by splitting complex patches.The results show that: 1)As a kind of noise,redundant patches are common in different projects.2)Redundant patches do not have a significant effect on Prophet(a tool of APR).3)The patch fragments can partly guide the candidate patch ranking,but it also reduce the Prophet's repair ability.At the end of the paper,a method of extending the knowledge of patch is proposed.It takes the complex patches into consideration by splitting them.What's more,we evaluate the results of this new method and leave research questions for followers.
Keywords/Search Tags:Automatic Program Repair, Open Source Community, Redundant Patch, Supplementary Patch, Effect Analysis
PDF Full Text Request
Related items