Ranking function synthesis for bit-vector relations

<p style="text-align:justify;">Ranking function synthesis is a key component of modern termination provers for imperative programs. While it is well-known how to generate linear ranking functions for relations over (mathematical) integers or rationals, efficient synthesis of ranking...

Full description

Bibliographic Details
Main Authors: Cook, B, Kroening, D, Rummer, P, al., E
Format: Journal article
Published: Springer 2013
_version_ 1826283265024065536
author Cook, B
Kroening, D
Rummer, P
al., E
author_facet Cook, B
Kroening, D
Rummer, P
al., E
author_sort Cook, B
collection OXFORD
description <p style="text-align:justify;">Ranking function synthesis is a key component of modern termination provers for imperative programs. While it is well-known 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.</p>
first_indexed 2024-03-07T00:56:18Z
format Journal article
id oxford-uuid:8834480e-7b99-49a6-b269-277116cc2b44
institution University of Oxford
last_indexed 2024-03-07T00:56:18Z
publishDate 2013
publisher Springer
record_format dspace
spelling oxford-uuid:8834480e-7b99-49a6-b269-277116cc2b442022-03-26T22:15:31ZRanking function synthesis for bit-vector relationsJournal articlehttp://purl.org/coar/resource_type/c_dcae04bcuuid:8834480e-7b99-49a6-b269-277116cc2b44Symplectic Elements at OxfordSpringer2013Cook, BKroening, DRummer, Pal., E<p style="text-align:justify;">Ranking function synthesis is a key component of modern termination provers for imperative programs. While it is well-known 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.</p>
spellingShingle Cook, B
Kroening, D
Rummer, P
al., E
Ranking function synthesis for bit-vector relations
title Ranking function synthesis for bit-vector relations
title_full Ranking function synthesis for bit-vector relations
title_fullStr Ranking function synthesis for bit-vector relations
title_full_unstemmed Ranking function synthesis for bit-vector relations
title_short Ranking function synthesis for bit-vector relations
title_sort ranking function synthesis for bit vector relations
work_keys_str_mv AT cookb rankingfunctionsynthesisforbitvectorrelations
AT kroeningd rankingfunctionsynthesisforbitvectorrelations
AT rummerp rankingfunctionsynthesisforbitvectorrelations
AT ale rankingfunctionsynthesisforbitvectorrelations