Ranking Function Synthesis for Bit-Vector Relations

  • Byron Cook
  • Daniel Kroening
  • Philipp Rümmer
  • Christoph M. Wintersteiger
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6015)

Abstract

Ranking function synthesis is a key aspect to the success of modern termination provers for imperative programs. While it is wellknown how to generate linear ranking functions for relations over (mathematical) integers or rationals, efficient synthesis of ranking functions for machine-level integers (bit-vectors) is an open problem. This is particularly relevant for the verification of low-level code. We propose several novel algorithms to generate ranking functions for relations over machine integers: a complete method based on a reduction to Presburger arithmetic, and a template-matching approach for predefined classes of ranking functions based on reduction to SAT- and QBF-solving. The utility of our algorithms is demonstrated on examples drawn from Windows device drivers.

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Byron Cook
    • 1
  • Daniel Kroening
    • 2
  • Philipp Rümmer
    • 2
  • Christoph M. Wintersteiger
    • 3
  1. 1.Microsoft ResearchUK
  2. 2.Oxford UniversityUK
  3. 3.ETH ZurichSwitzerland

Personalised recommendations