Font Size: a A A

Research Of Automatic Repair Of Semantic Defects Using Restraint Mechanisms

Posted on:2022-06-20Degree:MasterType:Thesis
Country:ChinaCandidate:L ZhangFull Text:PDF
GTID:2558307109964929Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the continuous development of information technology,people’s demand and dependence on software are increasing,and the software scale and complexity are also growing.software defects as derivatives of software development products,can cause operation error,abnormal results or behavior under certain conditions,and also can cause irreparable huge losses in severs cases.Program defect repair is a complex and time-consuming work,and the related research and survey suggest that software companies need to spend a lot of money and time for program defect repair every year.Therefore,automatic program repair(APR)has become an essential link in the process of program development.When developers have no way to start with a large number of defect reports,APR method can help developers repair program defects and effectively reduce the repair time.At present,researchers have studied many automatic program repair methods.Aiming at the problems of blindness,large search space and over-fitting of patches in the existing methods of automatic program repair,this article first analyzes the research status of the current automatic program repair technology and patch repair position determination method,and then analyzes the existing problems of automatic program repair technology and patch repair position determination method,focusing on the feasible methods to improve the accuracy and efficiency of automatic program repair technology.Then,we analyze the repair schemes of specific semantic defect types,and summarize the repair templates for different defect modes.This article analyzes the historical repair patches of the open source code and finds that the interval constraint repair of related variables before the defect occurs has a higher accuracy and is more feasible,and proposes a program automatic repair method based on the constraint mechanism.In this article,a method based on definition-use chain is proposed to determine the repair location.The relationship between the definition of defects related variables of adjacent defect modes and the use location is analyzed after the program is located by static analysis,so as to improve the readability of the patch program after repair and further improve the accuracy of repair location.For candidate patches,we also propose a patch quality evaluation method based on grammatical distance to quantitatively evaluate the patch quality.Based on the above theory,this article designs and implements a automatic program repair system DTSFix based on a constraint mechanism,and conducts experimental research on six Java open-source projects.Our result compares them with the repair results of the PAR based on repair template and shows that this method can effectively improve the accuracy and efficiency of automatic program repair.Automatic program repair technology can effectively help software maintenance personnel to debug software,so the improvement of accuracy and efficiency of automatic program repair technology can shorten the time of program defect repair and reduce the loss caused by software defects.This paper proposes a method of automatic program repair based on constraint mechanism,which can effectively improve the efficiency of automatic program repair.
Keywords/Search Tags:Program semantic defects, Automatic program repair, Defect modes, Constraint mechanisms, Repair templates
PDF Full Text Request
Related items