Rigorous proofs of program correctness without formal logic

  • Authors:
  • J. R. Jefferson Wadkins

  • Affiliations:
  • Educational Testing Service

  • Venue:
  • SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Three fundamental principles of static reasoning used to write imperative program code with built-in proof of its correctness are presented and explained in operational terms. It is argued that, although the traditional use of formal logic in the Hoare-Dijkstra-Gries methodology is probably the most efficient way to write code with built-in proofs of correctness, the ideas underlying that methodology are much simpler than commonly perceived through the veil of formal logic and axiomatic semantics. Examples are given illustrating principles and techniques for deriving code from specifications, using the informal reasoning of the mathematician without either the terminology or notation of formal logic.