An inspection-based technique for verifying module correctness

Date

1992

Authors

Jones, Graeme Neal

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Current trends in programming methodology suggest that specification and verification should be as formal as possible. Yet, putting such methods into practice has proved difficult. We propose a mixture of formal and infor­mal techniques, and rely more on human review than on formal derivation. We extend current work on module verification, providing new theoretical re­sults as well as practical procedures designed for use in software inspections. Our underlying theory is for pairs of infinite, nondeterministic Mealy ma­chines. Module state machines (MSMs) are Mealy machines specialized for modeling software modules: the inputs are function calls and the outputs are return-value/exception pairs. We have defined three kinds of MSMs, corre­sponding to ( 1) declarative specifications using abstract state, (2) declarative specifications using concrete state, and (3) implementations. Both exceptions and nondeterminism are handled. Based on the Mealy machine theory, we have developed MSM verification procedures, specifically designed for proofs delivered in inspection meetings. Detailed examples of the three MSMs and the verification procedures are included.

Description

Keywords

UN SDG 17: Partnerships

Citation