Font Size: a A A

Research On Automated Repair Of Java Programs Via Dynamic Updating Speedup And Adaptive Search

Posted on:2022-04-21Degree:MasterType:Thesis
Country:ChinaCandidate:R X GuoFull Text:PDF
GTID:2518306725481184Subject:Computer technology
Abstract/Summary:PDF Full Text Request
In software development,developers need to debug the software to repair defects.In order to reduce the workload of software defects repair,search-based automatic program repair techniques have been widely studied.These methods use random or heuristic methods to find and generate potentially correct patches in the pre-defined search space,and run programs to validate whether the patches are correct.At present,the existing search-based automatic program repair techniques still have the following shortcomings:1)In terms of patch validation,the existing automatic repair techniques of Java programs adopt a process-based validation method,which includes redundant process restart and class loading operations,increasing the average search cost of each patch;2)In terms of patch generation,the existing search-based automatic program repair techniques will fix the size of the search space in advance.However,how to set the appropriate search space for different programs is still a difficult problem.Setting too small or too large may affect the repair effect.In view of the above shortcomings,this paper first uses dynamic software updating to validate different patches in the same process,so as to accelerate the patch validation process.In addition,this paper proposes an automatic program repair method based on an adaptive search,which dynamically adjusts the size of search space in the repair process.Specifically,the main work of this paper includes:● An automatic repair speedup technique of Java programs via dynamic software updating.We use dynamic software updating to propose a HotSwap-based patch validation method.This method can effectively reduce the redundant and irrelevant operations in the patch validation process.The experimental results on the real defect data set Defects4J show that our method can significantly improve the patch validation efficiency while slightly reducing the accuracy.● An automatic repair technique for Java programs via adaptive search.Based on the above speedup techniques,we propose a method to dynamically adjust the current patch search space during the repair process based on suspicious statements,modification operators,reusable code elements and the maximum modification locations.The experimental results on Defects4J verify the effectiveness of the proposed method.● A prototype system of automatic program repair for Java.Based on the above technique,we implement a prototype system of automatic program repair for Java,and preliminarily verify the feasibility of the above technique.
Keywords/Search Tags:Automatic Program Repair, Search-based Automatic Program Repair, Dynamic Software Updating, Adaptive Search
PDF Full Text Request
Related items