Title :
Proving termination of imperative programs using Max-SMT
Author :
Larraz, Daniel ; Oliveras, Albert ; Rodriguez-Carbonell, Enric ; Rubio, Albert
Author_Institution :
Univ. Politec. de Catalunya, Barcelona, Spain
Abstract :
We show how Max-SMT can be exploited in constraint-based program termination proving. Thanks to expressing the generation of a ranking function as a Max-SMT optimization problem where constraints are assigned different weights, quasi-ranking functions -functions that almost satisfy all conditions for ensuring well-foundedness- are produced in a lack of ranking functions. By means of trace partitioning, this allows our method to progress in the termination analysis where other approaches would get stuck. Moreover, Max-SMT makes it easy to combine the process of building the termination argument with the usually necessary task of generating supporting invariants. The method has been implemented in a prototype that has successfully been tested on a wide set of programs.
Keywords :
computability; constraint handling; optimisation; theorem proving; constraint-based program termination proving; imperative programs; max-SMT optimization problem; quasiranking functions; termination analysis; termination argument; trace partitioning; Buildings; Computer bugs; Generators; Optimization; Pressing; Prototypes; Software;
Conference_Titel :
Formal Methods in Computer-Aided Design (FMCAD), 2013
Conference_Location :
Portland, OR
DOI :
10.1109/FMCAD.2013.6679413