English

Synthesising Interprocedural Bit-Precise Termination Proofs (extended version)

Software Engineering 2015-05-19 v1 Logic in Computer Science

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.

Keywords

Cite

@article{arxiv.1505.04581,
  title  = {Synthesising Interprocedural Bit-Precise Termination Proofs (extended version)},
  author = {Hong-Yi Chen and Cristina David and Daniel Kroening and Peter Schrammel and Björn Wachter},
  journal= {arXiv preprint arXiv:1505.04581},
  year   = {2015}
}

Comments

extended version

R2 v1 2026-06-22T09:36:12.531Z