Program checking

  • Authors:
  • Graeme Williams

  • Affiliations:
  • Computer Science Department, University of Rochester, Rochester NY

  • Venue:
  • SIGPLAN '79 Proceedings of the 1979 SIGPLAN symposium on Compiler construction
  • Year:
  • 1979

Quantified Score

Hi-index 0.00

Visualization

Abstract

In languages such as Pascal, the programmer can arrange to have the compiler check such things as the range of the value of a variable only by defining a new type or sub-type. I have investigated how more powerful checking facilities might be provided if they were divorced from the type machinery, and also if the necessary language constructs were designed independent of what any particular compiler would check at compile-time. The first part of the project is the language design. An important goal is that the programmer can have checked as little or as much as he cares, and that it is not necessary for the programmer to specify complete input and output specifications for the program. My work falls short of program verification not only because I wanted to be able to check a program quickly, but also because I was unwilling to force the programmer to specify the program in that much detail. Current program verification systems, such as that of Constable [Constable and Johnson, 1978] seem to require that the programmer write the program twice: once as a program and again as a proof.