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

https://hal.archives-ouvertes.fr/hal-01418916
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

File

Atva07.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

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⟩

Share

Metrics

Record views

170

Files downloads

191