Theory of Modules

  • Authors:
  • J. D. Gannon;R. G. Hamlet;H. D. Mills

  • Affiliations:
  • -;-;-

  • Venue:
  • IEEE Transactions on Software Engineering
  • Year:
  • 1987

Quantified Score

Hi-index 0.01

Visualization

Abstract

Because large-scale software development is a struggle against internal program complexity, the modules into which programs are divided play a central role in software engineering. A module encapsulating a data type allows the programmer to ignore both the details of its operations, and of its value representations. It is a primary strength of program proving that as modules divide a program, making it easier to understand, so do they divide its proof. Each module can be verified in isolation, then its internal details ignored in a proof of its use. This paper describes proofs of module abstractions based on functional semantics, and contrasts this with the Alphard formalism based on Hoare logic.