Ranking function synthesis for bit-vector relations

  • Authors:
  • Byron Cook;Daniel Kroening;Philipp Rümmer;Christoph M. Wintersteiger

  • Affiliations:
  • Microsoft Research, UK;Oxford University, UK;Oxford University, UK;ETH Zurich, Switzerland

  • Venue:
  • TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

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.