Download PDFOpen PDF in browser

Loop Analysis by Quantification over Iterations

19 pagesPublished: October 23, 2018

Abstract

We present a framework to analyze and verify programs containing loops by using a first-order language of so-called extended expressions. This language can express both functional and temporal properties of loops. We prove soundness and completeness of our framework and use our approach to automate the tasks of partial correctness verification, termination analysis and invariant generation. For doing so, we express the loop semantics as a set of first-order properties over extended expressions and use theorem provers and/or SMT solvers to reason about these properties. Our approach supports full first-order reasoning, including proving program properties with alternation of quantifiers. Our work is implemented in the tool QuIt and successfully evaluated on benchmarks coming from software verification.

Keyphrases: automated reasoning, first-order logic, invariant generation, loop, program verification, termination

In: Gilles Barthe, Geoff Sutcliffe and Margus Veanes (editors). LPAR-22. 22nd International Conference on Logic for Programming, Artificial Intelligence and Reasoning, vol 57, pages 381--399

Links:
BibTeX entry
@inproceedings{LPAR-22:Loop_Analysis_by_Quantification,
  author    = {Bernhard Gleiss and Laura Kov\textbackslash{}'acs and Simon Robillard},
  title     = {Loop Analysis by Quantification over Iterations},
  booktitle = {LPAR-22. 22nd International Conference on Logic for Programming, Artificial Intelligence and Reasoning},
  editor    = {Gilles Barthe and Geoff Sutcliffe and Margus Veanes},
  series    = {EPiC Series in Computing},
  volume    = {57},
  pages     = {381--399},
  year      = {2018},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {https://easychair.org/publications/paper/W2Db},
  doi       = {10.29007/269p}}
Download PDFOpen PDF in browser