Synthesis of ranking functions using extremal counterexamples

L Gonnord, D Monniaux, G Radanne - ACM SIGPLAN Notices, 2015 - dl.acm.org
L Gonnord, D Monniaux, G Radanne
ACM SIGPLAN Notices, 2015dl.acm.org
We present a complete method for synthesizing lexicographic linear ranking functions (and
thus proving termination), supported by inductive invariants, 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) …
We present a complete method for synthesizing lexicographic linear ranking functions (and thus proving termination), supported by inductive invariants, 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, our 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 show marked performance and scalability improvements compared to other systems.
ACM Digital Library