GumTree Distribution

GumTree is a complete framework to deal with source code as trees and compute differences between them.

License

License

GroupId

GroupId

com.github.gumtreediff
ArtifactId

ArtifactId

gumtree-all
Last Version

Last Version

2.0.0
Release Date

Release Date

Type

Type

pom
Description

Description

GumTree Distribution
GumTree is a complete framework to deal with source code as trees and compute differences between them.
Project Organization

Project Organization

LaBRI

Download gumtree-all

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.gumtreediff/gumtree-all/ -->
<dependency>
    <groupId>com.github.gumtreediff</groupId>
    <artifactId>gumtree-all</artifactId>
    <version>2.0.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.github.gumtreediff/gumtree-all/
implementation 'com.github.gumtreediff:gumtree-all:2.0.0'
// https://jarcasting.com/artifacts/com.github.gumtreediff/gumtree-all/
implementation ("com.github.gumtreediff:gumtree-all:2.0.0")
'com.github.gumtreediff:gumtree-all:pom:2.0.0'
<dependency org="com.github.gumtreediff" name="gumtree-all" rev="2.0.0">
  <artifact name="gumtree-all" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.github.gumtreediff', module='gumtree-all', version='2.0.0')
)
libraryDependencies += "com.github.gumtreediff" % "gumtree-all" % "2.0.0"
[com.github.gumtreediff/gumtree-all "2.0.0"]

Dependencies

compile (12)

Group / Artifact Type Version
com.github.gumtreediff : gen.jdt jar 2.0.0
com.github.gumtreediff : gen.sax jar 2.0.0
com.github.gumtreediff : gen.js jar 2.0.0
com.github.gumtreediff : gen.ruby jar 2.0.0
com.github.gumtreediff : gen.c jar 2.0.0
com.github.gumtreediff : gen.antlr-r jar 2.0.0
com.github.gumtreediff : gen.antlr-json jar 2.0.0
com.github.gumtreediff : gen.antlr-php jar 2.0.0
com.github.gumtreediff : gen.antlr-antlr jar 2.0.0
com.github.gumtreediff : gen.antlr-xml jar 2.0.0
com.github.gumtreediff : client jar 2.0.0
com.github.gumtreediff : client.diff jar 2.0.0

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

GumTree

Status

Build and Test GumTree

Description

GumTree is a complete framework to deal with source code as trees and compute differences between them. It includes possibilities such as:

  • converting a source file into a language-agnostic tree format
  • export the produced trees in various formats
  • compute the differences between the trees
  • export these differences in various formats
  • visualize these differences graphically

Compared to classical code differencing tools, it has two important particularities:

  • it works on a tree structure rather than a text structure,
  • it can detect moved or renamed elements in addition of deleted and inserted elements.

Documentation

To use GumTree, you can start by consulting the Getting Started page from our wiki.

Screenshots

The directory diff viewer

Directory comparator view

The file diff viewer

Diff view

Supported languages

We already deal with a wide range of languages: C, Java, JavaScript, Python, R, Ruby. Click here for more details about the language we support.

More languages are coming soon, if you want to help contact me.

Citing GumTree

We are researchers, therefore if you use GumTree in an academic work we would be really glad if you cite our seminal paper using the following bibtex:

@inproceedings{DBLP:conf/kbse/FalleriMBMM14,
  author    = {Jean{-}R{\'{e}}my Falleri and
               Flor{\'{e}}al Morandat and
               Xavier Blanc and
               Matias Martinez and
               Martin Monperrus},
  title     = {Fine-grained and accurate source code differencing},
  booktitle = {{ACM/IEEE} International Conference on Automated Software Engineering,
               {ASE} '14, Vasteras, Sweden - September 15 - 19, 2014},
  pages     = {313--324},
  year      = {2014},
  url       = {http://doi.acm.org/10.1145/2642937.2642982},
  doi       = {10.1145/2642937.2642982}
}
com.github.gumtreediff

GumTreeDiff

A neat code differencing tool

Versions

Version
2.0.0