Conference paper

IOSIF Radu and ROGALEWICZ Adam. Automata-Based Termination Proofs. In: Implementation and Application of Automata. Berlin: Springer Verlag, 2009, pp. 165-177. ISBN 978-3-642-02978-3. Available from:
Publication language:english
Original title:Automata-Based Termination Proofs
Title (cs):Dokazování konečnosti programů založené na automatech
Proceedings:Implementation and Application of Automata
Conference:14th International Conference on Implementation and Application of Automata
Series:Lecture Notes in Computer Science 5642
Place:Berlin, DE
Publisher:Springer Verlag
Formal verification, Termination, Buchi automata, Tree automata, Programs with pointers
This paper proposes a framework for detecting termination of programs
handling infinite and complex data domains, such as pointer structures. In
this framework, the user has to specify a finite number of well-founded relations
on the data domain manipulated by these programs. Our tool then builds an initial
abstraction of the program, which is checked for existence of potential infinite
runs, by testing emptiness of its intersection with a predefined Buchi automaton.
If the intersection is non-empty, a lasso-shaped counterexample is found. This
counterexample is checked for spuriousness by a domain-specific procedure, and
in case it is found to be spurious, the abstraction is refined, again by intersection
with the complement of the Buchi automaton representing the lasso. We have instantiated
the framework for programs handling tree-like data structures, which
allowed us to prove termination of programs such as the depth-first tree traversal,
the Deutsch-Schorr-Waite tree traversal, or the linking leaves algorithm.
   author = {Radu Iosif and Adam Rogalewicz},
   title = {Automata-Based Termination Proofs},
   pages = {165--177},
   booktitle = {Implementation and Application of Automata},
   series = {Lecture Notes in Computer Science 5642},
   year = 2009,
   location = {Berlin, DE},
   publisher = {Springer Verlag},
   ISBN = {978-3-642-02978-3},
   language = {english},
   url = {}

Your IPv4 address:
Switch to https