Proving Termination of Tree Manipulating Programs

Abstract : We consider the termination problem of programs manipulating tree-like dynamic data structures. Our approach is based on an abstract-check-rene 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 analyse the possible counterexample given by a counter automata termination checker and either conclude that the program does not terminate, or else rene the abstraction and repeat. We show that the spurious-ness problem for lasso-shaped counterexamples is decidable in some non-trivial cases. We applied the method successfully on several interesting case studies.
Document type :
Conference papers
Complete list of metadatas

Cited literature [24 references]  Display  Hide  Download
Contributor : Radu Iosif <>
Submitted on : Saturday, December 17, 2016 - 6:06:40 PM
Last modification on : Thursday, February 7, 2019 - 4:45:50 PM
Long-term archiving on: Tuesday, March 21, 2017 - 10:45:34 AM


Files produced by the author(s)




Peter Habermehl, Radu Iosif, Adam Rogalewicz, Tomáš Vojnar. Proving Termination of Tree Manipulating Programs. 5th International Symposium on Automated Technology for Verification and Analysis (ATVA 2007), Oct 2007, Tokyo, Japan. pp.145-161, ⟨10.1007/978-3-540-75596-8_12⟩. ⟨hal-01418916⟩



Record views


Files downloads