Skip to content
This repository has been archived by the owner on Feb 18, 2023. It is now read-only.

tgrassau/treedifferencing

 
 

Repository files navigation

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:

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

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).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 89.5%
  • GAP 7.7%
  • Ruby 1.2%
  • JavaScript 1.0%
  • CSS 0.4%
  • Shell 0.1%
  • R 0.1%