QED at large: A survey of engineering of formally verified software

Talia Ringer, Karl Palmskog, Ilya Sergey, Milos Gligoric, Zachary Tatlock

Research output: Contribution to journalArticlepeer-review


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.

Original languageEnglish (US)
Pages (from-to)102-281
Number of pages180
JournalFoundations and Trends in Programming Languages
Issue number2-3
StatePublished - Sep 3 2019
Externally publishedYes

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Computer Science Applications


Dive into the research topics of 'QED at large: A survey of engineering of formally verified software'. Together they form a unique fingerprint.

Cite this