# GumTreeDiff/gumtree

An awesome code differencing tool

Repository: https://github.com/GumTreeDiff/gumtree
Canonical: https://ross.abutalabs.com/products/gumtree
Homepage: https://github.com/GumTreeDiff/gumtree/wiki
Language: Java
License: LGPL-3.0
License Family: copyleft
Topics: diff, abstract-syntax-tree, gumtree
Last push: 2026-08-25T06:18:45+00:00

## Health v2 (maintenance only)
Score: 89/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 69, longevity 100
- inputs: {"age_days": 4367, "days_push": 8, "days_rel": 49, "gap_med": 98, "n_releases_24m": 6}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1332, forks 188 (observed 2026-08-28T04:04:24.421090+00:00)

## What it is
GumTree is a syntax-aware code differencing tool that computes diffs on abstract syntax trees rather than raw text. It aligns edit actions with language syntax and detects moved or renamed code elements, and can be integrated with Git.

## Use cases
- compare two versions of a source file with syntax-aware diff
- detect moved or renamed functions between code revisions
- generate AST-based edit scripts for code changes
- integrate semantic diffing into a Git workflow
- analyze fine-grained source code changes for research

## When to choose
- you need diffs that respect language syntax instead of line-based text diffs
- you want to detect code moves and renames that text diffs miss
- you need a Java library or CLI for AST differencing across languages like C, Java, JavaScript, Python, R, or Ruby

## When to avoid
- you only need simple line-based text diffs
- your language is not among the supported parsers
- you need a graphical diff tool with rich IDE integration

## Facets
- artifact type: cli-tool
- maturity: active
- function: parser, developer-tools, cli
- domain: developer-tools, version-control, parsers
- platform: cross-platform, cli, jvm
- tags: code-differencing, ast-diff, syntax-aware-diff, git-integration

## Member repositories
- GumTreeDiff/gumtree (main) score 89

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:24.421090+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:45:08.830449+00:00, confidence not recorded.
  - readme: https://github.com/GumTreeDiff/gumtree (fetched 2026-08-28T04:04:24.421090+00:00, sha 253f149841f6)
  - homepage: https://github.com/GumTreeDiff/gumtree/wiki (fetched 2026-08-29T12:04:07.711087+00:00, sha 51aa0491c710)
- Data as of 2026-08-30T08:39:29.467469+00:00.
