Verified programming in Guru

  • Authors:
  • Aaron Stump;Morgan Deters;Adam Petcher;Todd Schiller;Timothy Simpson

  • Affiliations:
  • The University of Iowa, Iowa City, IA, USA;Technical University of Catalonia, Barcelona, Spain;Washington University in St. Louis, St. Louis, MO, USA;Washington University in St. Louis, St. Louis, MO, USA;Washington University in St. Louis, St. Louis, MO, USA

  • Venue:
  • Proceedings of the 3rd workshop on Programming languages meets program verification
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Operational Type Theory (OpTT) is a type theory allowing possibly diverging programs while retaining decidability of type checking and a consistent logic. This is done by distinguishing proofs and (program) terms, as well as formulas and types. The theory features propositional equality on type-free terms, which facilitates reasoning about dependently typed programs. OpTT has been implemented in the Guru verified programming language, which includes a type- and proof-checker, and a compiler to efficient C code. In addition to the core OpTT, Guru implements a number of extensions, including ones for verification of programs using mutable state and input/output. This paper gives an introduction to verified programming in Guru.