Overall Objectives
Research Program
Application Domains
Highlights of the Year
New Software and Platforms
New Results
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
XML PDF e-pub
PDF e-Pub

Section: New Results

Termination of C Programs

Participants : Laure Gonnord, David Monniaux [CNRS/VERIMAG] , Gabriel Radanne [Univ Paris 7/ PPS] .

The work of Compsys on the generation of multi-dimensional ranking functions [15] , through a mix of polyhedral and abstract interpretation techniques, and its implementation in the tool RanK [16] , was continued by Laure Gonnord in collaboration with D. Monniaux. A complete method for synthesizing lexicographic linear ranking functions (and thus proving termination), supported by inductive invariants, was designed in the case where the transition relation of the program includes disjunctions and existentials (large block encoding of control flow).

Previous work would either synthesize a ranking function at every basic block head, not just loop headers, which reduces the scope of programs that may be proved to be terminating, or expand large block transitions including tests into (exponentially many) elementary transitions, prior to computing the ranking function, resulting in a very large global constraint system. In contrast, the new algorithm incrementally refines a global linear constraint system according to extremal counterexamples: only constraints that exclude spurious solutions are included.

Experiments with our tool Termite  6.8 show marked performance and scalability improvements compared to other systems.

This work has been published at the PLDI'15 conference [7] .