Properties of substitutions and unifications
Journal of Symbolic Computation
Principles of Program Analysis
Principles of Program Analysis
Algebraic Properties of Idempotent Substitutions
ICALP '90 Proceedings of the 17th International Colloquium on Automata, Languages and Programming
A Technique for Invariant Generation
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
IWWERT '90 Proceedings of the First International Workshop on Word Equations and Related Topics
Clone Detection Using Abstract Syntax Trees
ICSM '98 Proceedings of the International Conference on Software Maintenance
A survey on tree edit distance and related problems
Theoretical Computer Science
ACM SIGSAM Bulletin
Archeology of Code Duplication: Recovering Duplication Chains from Small Duplication Fragments
SYNASC '05 Proceedings of the Seventh International Symposium on Symbolic and Numeric Algorithms for Scientific Computing
An Algorithm for Automated Generation of Invariants for Loops with Conditionals
SYNASC '05 Proceedings of the Seventh International Symposium on Symbolic and Numeric Algorithms for Scientific Computing
Clone Detection via Structural Abstraction
WCRE '07 Proceedings of the 14th Working Conference on Reverse Engineering
Anti-unification for Unranked Terms and Hedges
Journal of Automated Reasoning
Hi-index | 0.00 |
A term t is called a template of terms t1 and t2 iff t1=tη1 and t2=tη2, for some substitutions η1 and η2. A template t of t1 and t2 is called the most specific iff for any template t′ of t1 and t2 there exists a substitution ξ such that t=t′ξ. The anti-unification problem is that of computing the most specific template of two given terms. This problem is dual to the well-known unification problem, which is the computing of the most general instance of terms. Unification is used extensively in automatic theorem proving and logic programming. We believe that anti-unification algorithms may have wide applications in program analysis. In this paper we present an efficient algorithm for computing the most specific templates of terms represented by labelled directed acyclic graphs and estimate the complexity of the anti-unification problem. We also describe techniques for invariant generation and software clone detection based on the concepts of the most specific templates and anti-unification.