Proving termination of tree manipulating programs

  • Authors:
  • Peter Habermehl;Radu Iosif;Adam Rogalewicz;Tomáš Vojnar

  • Affiliations:
  • LSV, ENS Cachan, CNRS, INRIA, Cachan, France;VERIMAG, CNRS, Gières;VERIMAG, CNRS, Gières and FIT BUT, Brno;FIT BUT, Brno

  • Venue:
  • ATVA'07 Proceedings of the 5th international conference on Automated technology for verification and analysis
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We consider the termination problem of programs manipulating treelike dynamic data structures. Our approach is based on a counter-example guided abstraction refinement loop. We use abstract regular tree model-checking to infer invariants of the program. Then, we translate the program to a counter automaton (CA) which simulates it. If the CA can be shown to terminate using existing techniques, the program terminates. If not, we analyse the possible counterexample given by a CA 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.