Publication Details
Proving Termination of Tree Manipulating Programs
Radu Iosif
Rogalewicz Adam, doc. Mgr., Ph.D. (DITS)
Vojnar Tomáš, prof. Ing., Ph.D. (DITS)
formal verification, program analysis, termination checking, automata theory, tree automata, counter automata
We consider the termination problem of programs manipulating tree-like dynamic data structures. Our approach is based on an abstract-check-refine loop. We use abstract regular tree model-checking to infer invariants of the program. Then, we translate the program to a counter automaton which simulates it. If the counter automaton can be shown to terminate using existing techniques, the program terminates. If not, we analyze the possible counterexample given by a counter automata termination checker and either conclude that the program does not terminate, or else refine the abstraction and repeat. We show that the spuriousness problem for lasso-shaped counterexamples is decidable in some non-trivial cases. We applied the method successfully on several interesting case studies.
@inproceedings{BUT30895,
author="Peter {Habermehl} and Iosif {Radu} and Adam {Rogalewicz} and Tomáš {Vojnar}",
title="Proving Termination of Tree Manipulating Programs",
booktitle="Automated Technology for Verification and Analysis",
year="2007",
series="LNCS 4762",
pages="145--161",
publisher="Springer Verlag",
address="Berlin",
isbn="978-3-540-75595-1"
}