Loop Analysis by Quantification over Iterations
Paper in proceeding, 2018

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.

automated theorem proving

loop

Program Verification

first-order logic

Author

Bernhard Gleiss

Vienna University of Technology

Laura Kovacs

Chalmers, Computer Science and Engineering (Chalmers), Formal methods

Simon Robillard

Chalmers, Computer Science and Engineering (Chalmers), Formal methods

EPiC Series in Computing

23987340 (eISSN)

Vol. 57 381-399

22nd International Conference on Logic for Programming, Artificial Intelligence and Reasoning
Awassa, Ethiopia,

Subject Categories

Computer Science

More information

Latest update

10/13/2020