School of Computing

Transfer Function Synthesis without Quantifier Elimination

J"org Brauer and Andy King

Logical Methods in Computer Science, 8(2012):37, July 2012 Available as http://arxiv.org/abs/1207.4286.

Abstract

Traditionally, transfer functions have been designed manually for each operation in a program, instruction by instruction. In such a setting, a transfer function describes the semantics of a single instruction, detailing how a given abstract input state is mapped to an abstract output state. The net effect of a sequence of instructions, a basic block, can then be calculated by composing the transfer functions of the constituent instructions. However, precision can be improved by applying a single transfer function that captures the semantics of the block as a whole. Since blocks are program-dependent, this approach necessitates automation. There has thus been growing interest in computing transfer functions automatically, most notably using techniques based on quantifier elimination. Although conceptually elegant, quantifier elimination inevitably induces a computational bottleneck, which limits the applicability of these methods to small blocks. This paper contributes a method for calculating transfer functions that finesses quantifier elimination altogether, and can thus be seen as a response to this problem. The practicality of the method is demonstrated by generating transfer functions for input and output states that are described by linear template constraints, which include intervals and octagons.



Bibtex Record

@article{3238,
author = {J"{o}rg Brauer and Andy King},
title = {Transfer {F}unction {S}ynthesis without {Q}uantifier {E}limination},
month = {July},
year = {2012},
pages = {37},
keywords = {abstract interpretation, best transform, transfer functions, binary analysis},
note = {Available as http://arxiv.org/abs/1207.4286},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2012/3238},
    publication_type = {article},
    submission_id = {110_1342688269},
    journal = {Logical Methods in Computer Science},
    volume = {8},
    number = {2012},
}

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014