Skip to content

Latest commit

 

History

History
41 lines (31 loc) · 1.52 KB

README.md

File metadata and controls

41 lines (31 loc) · 1.52 KB

This is a fork of Gumtree.

It contains the MTDIFF implementation and several general optimizations for tree differencing algorithms. The data to the ASE 2016 publication "Move-Optimized Source Code Tree Differencing" is available in a separate repository.

Structure

This repository is structured as follows:

  • src/main/java/com/github/gumtreediff/matchers/optimizations: Contains the general optimizations for tree differencing algorithms.
  • src/main/java/com/github/gumtreediff/matchers/heuristic/mtdiff: Contains the new MTDIFF implementation.

Example

You can build the code with the following commands:

git clone https://github.com/FAU-Inf2/treedifferencing.git
cd treedifferencing
./gradlew build -x test

You will have a tar.gz distribution of GumTree in the dist/build/distributions folder. Unzip the archive.

To run the example from the publication with MTDIFF use:

./bin/dist webmtdiff Examples/Example1Original.java  Examples/Example1Modified.java
./bin/dist webmtdiff Examples/Example2Original.java  Examples/Example2Modified.java

To run the example from the publication with GumTree use:

./bin/dist webdiff Examples/Example1Original.java  Examples/Example1Modified.java
./bin/dist webdiff Examples/Example2Original.java  Examples/Example2Modified.java

License

  • The source code in src/java/main is licensed under LGPL version 3 (see LICENSE).