Anti-unification algorithms and their applications in program analysis

A term t is called a template of terms t 1 and t 2 iff t 1∈=∈tη 1 and t 2∈= ∈tη 2, for some substitutions η 1 and η 2. A template t of t 1 and t 2 is called the most specific iff for any template t' of t 1 and t 2 there exists a substitution ξ such that t∈=∈t'ξ. The anti-unification proble...

Full description

Bibliographic Details
Main Authors: Bulychev, P, Kostylev, E, Zakharov, V
Format: Conference item
Published: Springer 2010
_version_ 1826270488036376576
author Bulychev, P
Kostylev, E
Zakharov, V
author_facet Bulychev, P
Kostylev, E
Zakharov, V
author_sort Bulychev, P
collection OXFORD
description A term t is called a template of terms t 1 and t 2 iff t 1∈=∈tη 1 and t 2∈= ∈tη 2, for some substitutions η 1 and η 2. A template t of t 1 and t 2 is called the most specific iff for any template t' of t 1 and t 2 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. © 2010 Springer Berlin Heidelberg.
first_indexed 2024-03-06T21:41:35Z
format Conference item
id oxford-uuid:481f74f3-7003-4746-a28e-9a1aabb45a43
institution University of Oxford
last_indexed 2024-03-06T21:41:35Z
publishDate 2010
publisher Springer
record_format dspace
spelling oxford-uuid:481f74f3-7003-4746-a28e-9a1aabb45a432022-03-26T15:23:50ZAnti-unification algorithms and their applications in program analysisConference itemhttp://purl.org/coar/resource_type/c_1843uuid:481f74f3-7003-4746-a28e-9a1aabb45a43Symplectic Elements at OxfordSpringer2010Bulychev, PKostylev, EZakharov, VA term t is called a template of terms t 1 and t 2 iff t 1∈=∈tη 1 and t 2∈= ∈tη 2, for some substitutions η 1 and η 2. A template t of t 1 and t 2 is called the most specific iff for any template t' of t 1 and t 2 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. © 2010 Springer Berlin Heidelberg.
spellingShingle Bulychev, P
Kostylev, E
Zakharov, V
Anti-unification algorithms and their applications in program analysis
title Anti-unification algorithms and their applications in program analysis
title_full Anti-unification algorithms and their applications in program analysis
title_fullStr Anti-unification algorithms and their applications in program analysis
title_full_unstemmed Anti-unification algorithms and their applications in program analysis
title_short Anti-unification algorithms and their applications in program analysis
title_sort anti unification algorithms and their applications in program analysis
work_keys_str_mv AT bulychevp antiunificationalgorithmsandtheirapplicationsinprogramanalysis
AT kostyleve antiunificationalgorithmsandtheirapplicationsinprogramanalysis
AT zakharovv antiunificationalgorithmsandtheirapplicationsinprogramanalysis