English

Efficient verification of imperative programs using auto2

Logic in Computer Science 2018-02-27 v3

Abstract

Auto2 is a recently introduced prover for the proof assistant Isabelle. It is designed to be both highly customizable from within Isabelle, and also have a powerful proof search mechanism. In this paper, we apply auto2 to the verification of imperative programs. We describe the setup of auto2 for both stages of the proof process: verification of a functional version of the program, and refining to the imperative version using separation logic. As examples, we verify several data structures, including red-black trees, interval trees, priority queues, and union-find. We also verify several algorithms making use of these data structures. These examples show that our framework is able to verify complex algorithms efficiently and in a modular manner.

Keywords

Cite

@article{arxiv.1610.06996,
  title  = {Efficient verification of imperative programs using auto2},
  author = {Bohua Zhan},
  journal= {arXiv preprint arXiv:1610.06996},
  year   = {2018}
}

Comments

17 pages, accepted for TACAS 2018

R2 v1 2026-06-22T16:28:19.987Z