Template-based automated program repair
- Download and Install Defects4J.
./installD4J.sh
- Check out and compile each bug.
./checkoutD4JBugs.sh
If you fail to install defects4j, checkout or compile defects4j bugs, please reference these introductions.
The docker image of TBar is available: TBar.
- Fixing Defects4J bugs with perfect fault localization configuration.
-
./PerfectFLTBarRunner.sh <Bug_Data_Path> <Bug_ID> <defects4j_Home> <true/false>
Example:
./PerfectFLTBarRunner.sh D4J/projects/ Chart_8 D4J/defects4j/ false
to fix bug Chart_8 with perfect fault localization configuration../PerfectFLTBarRunner.sh D4J/projects/ Chart_8 D4J/defects4j/ true
tries to fix bug Chart_8 with all possible matching fix patterns.
- Fixing Defects4J bugs with normal fault localization configuration.
-
./NormalFLTBarRunner.sh <Bug_Data_Path> <Bug_ID> <defects4j_Home>
Example:
./NormalFLTBarRunner.sh D4J/projects/ Chart_8 D4J/defects4j/
.
If it executes failed because of the paths of <Bug_Data_Path> and <defects4j_Home>, please use their absolute paths.
|--- README.md : user guidance
|--- D4J : Defects4J information
|--- FailedTestCases : Failed test cases of each Defects4J bug
|--- lib : GZoltar jar files
|--- Results : Generated patches
|------ FixPatterns : Bugs fixed by each fix pattern
|------ PerfectFL : Bugs fixed with perfect fault localization configuration
|------ NormalFL : Bugs fixed with normal fault localization configuration
|--- src : source code
|--- SuspiciousCodePositions : Bug positions localized with GZoltar
|--- target : binary code
ALL suggestions are welcomed.