Git Product home page Git Product logo

avatar's Introduction

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>

avatar's People

Contributors

kui-liu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

avatar's Issues

Confusion regarding bug position

In the paper, it is mentioned that the faulty locations are calculated based on the ground truth of developer patches. However, for the bug Closure 114, the modified line no is 578 (as shown in program-repair/defects4j-dissection@714c5bd), whereas it is 585 according to the BugPositions.txt file.
Similar cases occur for bug Closure 107, Lang_21, etc.

Besides, the BugPositions.txt file. of AVATAR differs from that of FL-VS-APR. For example, Closure_15, Chart_25 etc.

Can you please help me in this regard? Thanks in advance.

Does AVATAR work under Java-8?

Hi,

The README.md file mentions that AVATAR requires Java-7, would it incorrect/wrong to run it under Java-8?

--
Best,
Jose

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.