Nondeterminism, parallelism and intermittent assertions
Different views on nondeterminism and their effect on correctness proofs are investigated. These include allowing or disallowing dead ends and/or nontermination. A simple model of transition systems is used for this treatment, and a generalization of intermittent assertions is introduced which allows referencing the program path. Parallelism is considered as a special kind of nondeterminism. An additional proof rule is required for parallel programs, to express a fair scheduling policy. As an application, a total correctness proof of Dijkstra's on-the-fly garbage collection algorithm is sketched.
KeywordsTransition System Inference Rule Parallel Program Garbage Collection Correctness Proof
Unable to display preview. Download preview PDF.
- 1.Burstall, R.M., Proving properties of programs by structural induction. Comput.J. 12, Feb. 1969, 41–48.Google Scholar
- 2.Colomb, S.W., and Baumert, L.D., Backtrack programming. J. ACM 12, Oct. 1965, 516–524.Google Scholar
- 3.Dijkstra, E.W., A discipline of programming. Prentice-Hall, 1976.Google Scholar
- 4.Dijkstra, E.W., et.al. On-the-fly garbage collection: an exercise in cooperation. In Lecture Notes in Computer Science 46, Springer-Verlag, 1976, 43–56.Google Scholar
- 5.Floyd, R.W., Assigning meaning to programs. Proc.Symp. in Applied Math. 19, J.T.Schwartz, Ed., Amer.Math.Soc., 1967, 19–32.Google Scholar
- 6.Gries, David, An exercise in proving parallel programs correct. Comm. ACM 20, Dec. 1977, 921–930.Google Scholar
- 7.Manna, Zohar, Mathematical theory of computation. McGraw-Hill, 1974.Google Scholar
- 8.Manna, Zohar, and Waldinger Richard, Is "sometime" sometimes better than "always"? Comm. ACM 21, Feb. 1978, 159–172.Google Scholar
- 9.Morris, J.H., and Wegbreit, B., Subgoal induction. Comm. ACM 20, April 1977, 209–222.Google Scholar