-
Notifications
You must be signed in to change notification settings - Fork 1
Supported ASTDiff Tools
Nikolaos Tsantalis edited this page Jun 22, 2024
·
16 revisions
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.