# Proving programs by sets of computations

## Abstract

By a computation of a program we mean any finite or infinite sequence of consecutive data-vector states generated by the program during a run. The set of all such computations can be considered as the program meaning. Analysing programs by sets of computations permits one to deal not only with input-output properties like correctness or termination, but also with properties of runs independently are they finite or not. In particular one can analyse system-like programs, where no output at all is expected. Given a program to be analysed we split it into a finite number of modules each of them simple enough for the set of all its computations to be obvioust. Sets of computations associated to modules are combined then into a global set in a way that is described by operational semantics. This semantics — being of litle use for program analysis — is supplemented then by a fixed point semantics that is proved equivalent to the former. Two examples of program analysis are considered: the McCarthy's 91-procedure and a consumer-producer system-like program.

## Key words and phrases

recursive procedure set of computations algebra of computations operational semantics fixed point semantics least fixed point greatest fixed point deadlock## Category numbers

CR 5.24 AMS(MOS) 68A05 06A23## Preview

Unable to display preview. Download preview PDF.

## References

- [1]BLIKLE, A. Nets, complete lattices with a composition. Bull. Acad. Polon. Sci., Ser. Sci. Mathemat. Astronom. Phys. 19(1971), 1123–1127Google Scholar
- [2]
- [3]BLIKLE, A. An algebraic approach to programs and their computations. Math. Found. Comp. Sci. II (Proc. Symp. High Tatras, 1973) pp. 17–26. High Tatras 1973Google Scholar
- [4]BLIKLE, A. An extended approach to mathematical analysis of programs. (Roughly revised notices to lectures delivered during MFCS-74 Semester in the Intern. Mathem. S.Banach Center in Warsaw, 1974) CC PAS Reports 169(1974)Google Scholar
- [5]BLIKLE, A. Proving programs by δ-relations. Formalization of Semantics of Programming Languages and Writing of Compilers, (Proc. Symp. Frankfurt/Oder, 1974), Elektronische Informationesverarbeitung und Kybernetik (to appear)Google Scholar
- [6]BLIKLE, A.; MAZURKIEWICZ, A. An algebraic approach to the theory of programs, algorithms, languages and recursiveness. Math. Found. Comp. Sci. I (Proc. Symp. Warsaw-Jablonna, 1972), Warsaw 1972Google Scholar
- [7]MANNA, Z.; PNUELI, A. Axiomatic approach to total correctness of programs. Stanford Art. Intel. Lab., Memo AIM-210, Stanford 1973; also Acta Informatica ?(1974)Google Scholar
- [8]MAZURKIEWICZ, A. Iteratively computable relations. Bull. Acad. Polon. Sci., Sér. Sci. Math. Astronom. Phys. 20(1972), 793–798Google Scholar
- [9]
- [10]REDZIEJOWSKI, R.R. The theory of general events and its application to parallel programming. IBM Nordic Laboratory Sweden TP. 18.220 (1972)Google Scholar
- [11]SCOTT, D. Outline of a mathematical theory of computations. Techn. Mon. PRG-2, Oxford 1970Google Scholar
- [12]TARSKI, A. A lattice-theoretic fixpoint theorem and its applications. Pacific Jour. Math. 5(1955), 285–309Google Scholar