Font Size: a A A

Research On Automatic Program Repair Method Based On Feedback Strategy And Priority Ranking Of Test Cases

Posted on:2021-04-25Degree:MasterType:Thesis
Country:ChinaCandidate:Y ShiFull Text:PDF
GTID:2428330605482466Subject:Computer technology
Abstract/Summary:PDF Full Text Request
As the most time-consuming and tedious stage of software development,software defect repair occupies most of the development cost.In recent years,researchers have paid great attention to the field of Automated Program Repair,hoping to make the program automatically detect defects and generate corresponding patches without excessive manual intervention.Most existing repair technologies are based on generation and verification technology models.The repair technology first sorts suspicious statements that may contain program errors through the defect location module,then manipulates the statements in the list to generate patches according to certain rules,and finally the repair program verifies the validity of the patch through the test suite.The defect is repaired successfully and the patch is reported to the user,otherwise the repair fails.However,in practical applications,the automatic program repair technology does not have a flexible exploration mechanism to cope with the huge search space.Patch evaluation criteria are not sufficient to verify the correctness of candidate patches by measuring the test case pass rate.The execution process seriously drags down the efficiency of the repair.This article conducts research on the problems in the automatic program repair method,and the specific contents are as follows:(1)A patch generation method based on dynamic feedback strategy is proposed.This method uses the syntax similarity of the defect program and the patch program and the test case execution information to enhance the calculation of the patch fitness and improve the screening performance of patches of different quality.Then use the characteristics of genetic programming to build a feedback mechanism,reward and record by evaluating the evolution position of excellent patches in the current population,adjust the exploration direction of the repair algorithm in real time,and guide the evolution of candidate patches.Experiments show that the method based on dynamic feedback can distinguish patches of different quality more effectively than the original method and speed up the search progress.(2)A test case prioritization method based on requirements and defect records is proposed.To improve the application of the traditional Additional strategy in the field of automatic program repair,use the suspiciousness of the statement to derive the demand coverage ability of the test case,use this ability to supplement the test case prioritization method(FRTP)based on the defect record,and then combine The number of vetoes for patches adjusts the priority of test cases so that excellent test cases can veto invalid patches faster and improve the efficiency of patch verification.Finally,a comparative experiment is conducted to show the effectiveness of this method.(3)Based on the program repair technology proposed above,this paper implements the search-based automatic program repair platform DFGenProg.Explaining the main modules and operation process of the platform by running the IntroClass defect assembly,increasing the practicality and effectiveness of the automatic program repair technology,confirming that the research argument of DFGenProg can be used as the future research direction of automatic program repair.
Keywords/Search Tags:automatic program repair, genetic programming, dynamic feedback strategy, test case priority
PDF Full Text Request
Related items