Supported ASTDiff Tools - pouryafard75/DiffBenchmark GitHub Wiki
Supported ASTDiff Tools
At the moment, we support the following tools:
| Tool Info | Tree Generator level | Enum Value in ASTDiffTools.java |
|---|---|---|
| RefactoringMiner | 3.0 | RMD |
| GumTree Classic (Greedy) | 3.0 | GTG |
| GumTree Simple | 3.0 | GTS |
| Iterative Java Matcher (IJM) | 2.1 | IJM |
| Move-Optimized Tree Diff (MTDiff) | 2.1 | MTD |
| GumTree Classic from 2.1 release | 2.1 | GT2 |
| IASTMapper | 3.0 | IAM |
| VirtualNodeWithGreedy (all AST nodes are placed under a virtual node to find moves + GumTree greedy) | 3.0 | VNG |
| VirtualNodeWithSimple (all AST nodes are placed under a virtual node to find moves + GumTree simple) | 3.0 | VNS |
| StagedTreeMatchingGreedy (Staged Tree Matching by Fujimoto et al. + GumTree greedy) | 3.0 | SMG |
| StagedTreeMatchingSimple (Staged Tree Matching by Fujimoto et al. + GumTree simple) | 3.0 | SMS |
| NonMappedSubTreesWithGreedy (non-mapped subtrees are matched in an additional round to find multi-mappings + GumTree greedy) | 3.0 | NMG |
| NonMappedSubTreesWithSimple (non-mapped subtrees are matched in an additional round to find multi-mappings + GumTree simple) | 3.0 | NMS |
| CopyPasteWithGreedy (Copy and Paste by Higo et al. to find multi-mappings + GumTree greedy) | 3.0 | CPG |
| CopyPasteWithSimple (Copy and Paste by Higo et al. to find multi-mappings + GumTree simple) | 3.0 | CPS |
| FineGrainedLabelsWithGreedy | 3.0 | FLG |
| FineGrainedLabelsWithSimple | 3.0 | FLS |
| FineGrainedTypesWithGreedy (combine the AST type of leaf nodes with the AST type of their parent node + GumTree greedy) | 3.0 | FTG |
| FineGrainedTypesWithSimple (combine the AST type of leaf nodes with the AST type of their parent node + GumTree simple) | 3.0 | FTS |
| COMBINED_TYPE_STAGED_GREEDY (FineGrainedTypesWithGreedy + StagedTreeMatchingGreedy) | 3.0 | COMBINED_TYPE_STAGED_GREEDY |
| COMBINED_TYPE_STAGED_SIMPLE (FineGrainedTypesWithSimple + StagedTreeMatchingSimple) | 3.0 | COMBINED_TYPE_STAGED_SIMPLE |
| COMBINED_TYPE_VN_GREEDY (FineGrainedTypesWithGreedy + VirtualNodeWithGreedy) | 3.0 | COMBINED_TYPE_VN_GREEDY |
| COMBINED_TYPE_VN_SIMPLE (FineGrainedTypesWithSimple + VirtualNodeWithSimple) | 3.0 | COMBINED_TYPE_VN_SIMPLE |
| MERGED_STAGED_NONMATCHED_GREEDY (StagedTreeMatchingGreedy + NonMappedSubTreesWithGreedy) | 3.0 | X_TYPE_STAGED_NONMATCHED_GREEDY |
| MERGED_STAGED_NONMATCHED_SIMPLE (StagedTreeMatchingSimple + NonMappedSubTreesWithSimple) | 3.0 | X_TYPE_STAGED_NONMATCHED_SIMPLE |
| Trivial Diff (Matches the identical program elements recursively) | 3.0 | TRV |
| Perfect Diff (which is the output of our manual validation and comes from the json files) | 3.0 | GOD |
Worth mentioning, we have introduced the Trivial Diff and Perfect Diff to facilitate the benchmark process.