Automata-Based Termination Proofs

keywords: Formal verification, termination analysis, Buchi automata, tree automata, programs with pointers
This paper describes our generic framework for detecting termination of programs handling infinite and complex data domains, such as pointer structures. The framework is based on a counterexample-driven abstraction refinement loop. We have instantiated the framework for programs handling tree-like data structures, which allowed us to prove automatically termination of programs such as the depth-first tree traversal, the Deutsch-Schorr-Waite tree traversal, or the linking leaves algorithm.
mathematics subject classification 2000: 68N30, 68Q60, 68Q70, 68W30
reference: Vol. 32, 2013, No. 4, pp. 739–775