kirancodes.me
To Proof Maintenance & Beyond!

Synthesising Interprocedural Bit-Precise Termination Proofs (T)

Hong-Yi Chen, Cristina David, Daniel Kroening, Peter Schrammel, Björn Wachter

Abstract

Proving program termination is key to guaranteeing absence of undesirable behaviour, such as hanging programs and even security vulnerabilities such as denial-of-service attacks. To make termination checks scale to large systems, interprocedural termination analysis seems essential, which is a largely unexplored area of research in termination analysis, where most effort has focussed on difficult single-procedure problems. We present a modular termination analysis for C programs using template-based interprocedural summarisation. Our analysis combines a context-sensitive, over-approximating forward analysis with the inference of under-approximating preconditions for termination. Bit-precise termination arguments are synthesised over lexicographic linear ranking function templates. Our experimental results show that our tool 2LS outperforms state-of-the-art alternatives, and demonstrate the clear advantage of interprocedural reasoning over monolithic analysis in terms of efficiency, while retaining comparable precision.

BibTeX
@inproceedings{Chen-al:ASE15,
  author    = {Hong{-}Yi Chen and
               Cristina David and
               Daniel Kroening and
               Peter Schrammel and
               Bj{\"{o}}rn Wachter},
  title     = {Synthesising Interprocedural {Bit-Precise} Termination Proofs {(T)}},
  booktitle = {ASE},
  pages     = {53--64},
  publisher = {{IEEE} Computer Society},
  year      = {2015},
}

Related papers