Programmable verifiers in imperative programming

  • Authors:
  • Yifeng Chen

  • Affiliations:
  • HCST Key Lab, School of EECS, Peking University, Beijing, China

  • Venue:
  • UTP'10 Proceedings of the Third international conference on Unifying theories of programming
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper studies the relation between execution and verification. A simple imperative language called VerExec with execution and verification commands is introduced. A machine only executes execution commands of a program, while the compiler only performs the verification commands. Common commands in other languages can be defined as a combination of execution and verification commands. Design of verifiers then becomes program design using verification commands. It is shown that type checking, abstract interpretation, modeling checking and Hoare Logic are all special verification programs, so are many of their combinations.