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/ falseto fix bug Chart_8 with perfect fault localization configuration../PerfectFLTBarRunner.sh D4J/projects/ Chart_8 D4J/defects4j/ truetries 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 codeALL suggestions are welcomed.

