Skip to content
AVATAR: Fixing Semantic Bugs with Fix Patterns of Static Analysis Violations
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
FailedTestCases
OUTPUT
figure
lib
src/main
.gitignore
BugPositions.txt
FLFix.sh
LineFix.sh
MethodFix.sh
README.md
compile.sh
pom.xml

README.md

AVATAR

Static Analysis Violation Fix Pattern based Automated Program Repair

AVATAR leverages the fix patterns of static analysis violations to fix semantic bugs.

The overview bug fixing process with AVATAR.\label{step}

This document describes how to use this tool and how to reproduce the result of our paper below. Please cite the following paper if you utilize the tool.

@inproceedings{liu2019avatar,
  Author = {Liu, Kui and Koyuncu, Anil and Kim, Dongsun and F. Bissyand{\'e}, Tegawend{\'e}},
  Title = {{AVATAR:} Fixing Semantic Bugs with Fix Patterns of Static Analysis Violations},
  Booktitle = {Proceedings of the 26th IEEE International Conference on Software Analysis, Evolution, and Reengineering},
  pages={456--467},
  year={2019},
  organization={IEEE}
}

I. Requirement

II. Run AVATAR

  1. Clone the PatchParser:
  • git clone https://github.com/SerVal-DTF/AVATAR.git
  1. Compile this project.
  • ./compile.sh
  1. Fix bugs with perfect fault localization, which means that the bug positions at line level are known and the fault localization technique is not needed.
  • ./LineFix.sh <BugID>
  1. Fix bugs with restricted fault localization, which means that the bug positions at method level are known that will help increase the accuracy of fault localization.
  • ./MethodFix.sh <BugID>
  1. Fix bugs with normal fault localization, which means that AVATAR directly uses off-the-shelf fault localization techniques (such as GZoltar + Ochiai) to localize the faulty code positions.
  • ./FLFix.sh <BugID>
You can’t perform that action at this time.