A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Abstract data types and the development of data structures
Communications of the ACM
Introduction to Mathematical Theory of Computation
Introduction to Mathematical Theory of Computation
A Discipline of Programming
The evolution of list-copying algorithms and the need for structured program verification
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Stepwise Specification and Implementation of Abstract Data Types
Proceedings of the Fifth Colloquium on Automata, Languages and Programming
Proceedings of the International Conference on Mathematical Studies of Information Processing
The Vienna development method (VDM): Software specification & program synthesis
Proceedings of the International Conference on Mathematical Studies of Information Processing
Formal Techniques and Sizeable Programs
Proceedings of the Proceedings of the 1st European Cooperation in Informatics on ECI Conference 1976
Inference rules for program annotation
Inference rules for program annotation
Hi-index | 0.00 |
The paper presents a method of correct programs' derivation. Our programs consist of an operational part (the virtual program) and a specification. Both these parts are subject to the development and the refinement process. Specifications consist of a precondition and a postcondition (global specification) plus a set of assertions (local specification). A program is correct if: l) it is partially correct wrt the global specification, 2) the precondition guarantees that the program neither loops indefinitely nor aborts, 3) the assertions are adequate for the proof of l) and 2). Programs are developed by means of correctness preserving transformations. The requirement of handling the problem of abortion leads to the necessity of using a partial (or three valued) logic, We are using McCarthy's logic for this purpose.