Identifying syntactic differences between two programs
Software—Practice & Experience
Efficient parallel term matching and anti-unification
Journal of Automated Reasoning
Algorithms on strings, trees, and sequences: computer science and computational biology
Algorithms on strings, trees, and sequences: computer science and computational biology
Bottom-Up Induction of Feature Terms
Machine Learning
Higher order generalization and its application in program verification
Annals of Mathematics and Artificial Intelligence
An Axiomatic Approach to Feature Term Generalization
EMCL '01 Proceedings of the 12th European Conference on Machine Learning
Cases as terms: A feature term approach to the structured representation of cases
ICCBR '95 Proceedings of the First International Conference on Case-Based Reasoning Research and Development
Unification, Weak Unification, Upper Bound, Lower Bound, and Generalization Problems
RTA '91 Proceedings of the 4th International Conference on Rewriting Techniques and Applications
Modelling Semi-structured Documents with Hedges for Deduction and Induction
ILP '01 Proceedings of the 11th International Conference on Inductive Logic Programming
Clone Detection Using Abstract Syntax Trees
ICSM '98 Proceedings of the International Conference on Software Maintenance
Inductive Synthesis of Functional Programs: Universal Planning, Folding of Finite Programs, and Schema Abstraction by Analogical Reasoning
Clone Detection in Source Code by Frequent Itemset Techniques
SCAM '04 Proceedings of the Source Code Analysis and Manipulation, Fourth IEEE International Workshop
Generalizing predicates with string arguments
Applied Intelligence
Clone Detection Using Abstract Syntax Suffix Trees
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
Solving equations with sequence variables and sequence functions
Journal of Symbolic Computation
Inductive Synthesis of Functional Programs: An Explanation Based Generalization Approach
The Journal of Machine Learning Research
Journal of Symbolic Computation
A Modular Equational Generalization Algorithm
Logic-Based Program Synthesis and Transformation
Comparison and evaluation of code clone detection techniques and tools: A qualitative approach
Science of Computer Programming
Electronic Notes in Theoretical Computer Science (ENTCS)
Clone detection via structural abstraction
Software Quality Control
On the relation between Context and Sequence Unification
Journal of Symbolic Computation
E-generalization using grammars
Artificial Intelligence
Anti-patterns for rule-based languages
Journal of Symbolic Computation
Sequence unification through currying
RTA'07 Proceedings of the 18th international conference on Term rewriting and applications
Restricted higher-order anti-unification for analogy making
AI'07 Proceedings of the 20th Australian joint conference on Advances in artificial intelligence
Matching with regular constraints
LPAR'05 Proceedings of the 12th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Similar code detection and elimination for erlang programs
PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
Anti-unification algorithms and their applications in program analysis
PSI'09 Proceedings of the 7th international Andrei Ershov Memorial conference on Perspectives of Systems Informatics
Hi-index | 0.00 |
We study anti-unification for unranked terms and hedges that may contain term and hedge variables. The anti-unification problem of two hedges ${\tilde{s}}_1$ and ${\tilde{s}}_2$ is concerned with finding their generalization, a hedge ${\tilde{q}}$ such that both ${\tilde{s}}_1$ and ${\tilde{s}}_2$ are instances of ${\tilde{q}}$ under some substitutions. Hedge variables help to fill in gaps in generalizations, while term variables abstract single (sub)terms with different top function symbols. First, we design a complete and minimal algorithm to compute least general generalizations. Then, we improve the efficiency of the algorithm by restricting possible alternatives permitted in the generalizations. The restrictions are imposed with the help of a rigidity function, which is a parameter in the improved algorithm and selects certain common subsequences from the hedges to be generalized. The obtained rigid anti-unification algorithm is further made more precise by permitting combination of hedge and term variables in generalizations. Finally, we indicate a possible application of the algorithm in software engineering.