Welcome to the new version of CaltechAUTHORS. Login is currently restricted to library staff. If you notice any issues, please email coda@library.caltech.edu
Published May 14, 2001 | Submitted
Report Open

Towards Reliable Modular Programs

Abstract

Software is being applied in an ever-increasing number of areas. Computer programs and systems are becoming more complex and consisting of more delicately interconnected components. Errors surfacing in programs are still a conspicuous and costly problem. It's about time we employ some techniques that guide us toward higher reliability of practical programs. The goal of this thesis is just that. This thesis presents a theory for verifying programs based on Dijkstra's weakest-precondition calculus. A variety of program paradigms used in practice, such as exceptions, procedures, object orientation, and modularity, are dealt with. The thesis sheds new light on the theory behind programs with exceptions. It develops an elegant algebra, and shows it to be the foundation on which the semantics of exceptions rests. It develops a trace semantics for programs with exceptions, from which the weakest-precondition semantics is derived. It also proves a theorem on programming methodology relating to exceptions, and applies this theorem in the novel derivation of a simple program. The thesis presents a simple model for object-oriented data types, in which concerns have been separated, resulting in the simplicity of the model. To deal with large programs, this thesis takes a practical look at modularity and abstraction. It reveals a problem that arises in writing specifications for modular programs where previous techniques fail. The thesis introduces a new specification construct that solves that problem, and gives a formal proof of soundness for modular verification using that construct. The model is a generalization of Hoare's classical data refinement. However, there are more problems to be solved. The thesis reports on some of these problems and suggests some future directions toward more reliable modular programs.

Additional Information

© 1995 Leino K.R.M. California Institute of Technology. Submitted 5 January, 1995.

Attached Files

Submitted - 95-03.pdf

Submitted - 95-03.ps

Files

95-03.pdf
Files (2.1 MB)
Name Size Download all
md5:fdbb16b59cdef3ff01b9b9ee4317542c
1.2 MB Preview Download
md5:aa0e00eb83fdc053e3a8cea1c58a6695
950.7 kB Download

Additional details

Created:
August 20, 2023
Modified:
January 13, 2024