Font Size: a A A

The Design And Implementation Of A Bug Repair Pattern Detection System Based On Abstract Syntax Tree

Posted on:2022-03-25Degree:MasterType:Thesis
Country:ChinaCandidate:L Y HeFull Text:PDF
GTID:2518306725984079Subject:Master of Engineering
Abstract/Summary:PDF Full Text Request
Bugs are inevitably introduced at every stage of the software life cycle.Developers,testers,and final system users can all use the bug tracking system to submit bugs.For developers,finding and fixing bugs is an important process in the software life cycle.In order to better automatically locate and fix bugs,we need to summarize different types of defects.Most of the existing classification methods are cause-driven,such as classification based on the cause of the error.The repair pattern refers to the abstract structure repeated in the repair patch.The bug repair pattern is driven by grammar and is closely related to the program text.Therefore,these patterns are more specific than defect categories based on cause-driven classification.Defining a reasonable bug repair pattern and identifying the repair pattern in the bug repository can helps developers to proactively avoid coding patterns that may cause errors.Sobreira et al.analyzed the patches of the Defects4 j data set and proposed a repair pattern classification containing 9 groups of 25 patterns.On this basis,Madeiral et al.manually analyzed the patches of the Defects4 j data set and proposed an automatic detection of bug repair pattern detector.On this basis,I observed and learned the definitions of 9 repair patterns and a large number of related examples.I carefully studied the process of each repair pattern and gave the detection process,and innovatively integrate these technologies to design and implement a complete and usable The the abstract syntax tree-based bug repair pattern detection system,which provides new ideas and system tools for efficiently solving bug repair pattern detection problems.The system can detect the bug repair pattern.The user provides the bug source iv file and repair patch,the system will automatically calculate the correct code that has been repaired,and extract the abstract syntax tree-level editing script from the difference between the bug code and the patch code to analyze the given code.Search for pattern instances by using the Spoon tool to analyze different AST nodes.The system helps users automatically identify bug repair patterns,helps users classify bug types and repair patterns.Through system testing,we found that the conditional block pattern in the Defects4 J data set is the most common repair pattern in the patch,followed by the wrapswith pattern and the expression fix repair pattern.The single line pattern is also very common.At present,there are many automatic repair methods for modifying one line of code defects.They should be able to solve the single line mode bugs better.On the other hand,the code moving pattern and the constant change pattern are not so common in the repair pattern.
Keywords/Search Tags:Abstract Syntax Tree, Repair Metric, Repair Action, Repair Pattern
PDF Full Text Request
Related items