English

QED at Large: A Survey of Engineering of Formally Verified Software

Logic in Computer Science 2020-03-17 v1 Programming Languages

Abstract

Development of formal proofs of correctness of programs can increase actual and perceived reliability and facilitate better understanding of program specifications and their underlying assumptions. Tools supporting such development have been available for over 40 years, but have only recently seen wide practical use. Projects based on construction of machine-checked formal proofs are now reaching an unprecedented scale, comparable to large software projects, which leads to new challenges in proof development and maintenance. Despite its increasing importance, the field of proof engineering is seldom considered in its own right; related theories, techniques, and tools span many fields and venues. This survey of the literature presents a holistic understanding of proof engineering for program correctness, covering impact in practice, foundations, proof automation, proof organization, and practical proof development.

Keywords

Cite

@article{arxiv.2003.06458,
  title  = {QED at Large: A Survey of Engineering of Formally Verified Software},
  author = {Talia Ringer and Karl Palmskog and Ilya Sergey and Milos Gligoric and Zachary Tatlock},
  journal= {arXiv preprint arXiv:2003.06458},
  year   = {2020}
}

Comments

183 pages, for errata see https://proofengineering.org/qed_errata.html