Abstract
We present an automata-theoretic framework to the verification of concurrent and nondeterministic programs. The basic idea is that to verify that a program P is correct one writes a program A that receives the computation of P as input and diverges only on incorrect computations of P. Now P is correct if and only if the program P A , which is obtained by combining P and A, terminates. This unifies previous works on verification of temporal properties and verification of fair termination.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
6 References
Apt, K.R.: Ten years of Hoare's logic: a survey — Part I. ACM Trans. on Programming Languages and Systems 3(1981), pp. 431–483.
Apt, K.R.: Ten years of Hoare's logic: a survey — Part II. Theoretical Computer Science 28(1984), pp. 83–109.
Apt, K.R., Olderog, E.R.: Proof rules and transformation dealing with fairness. Science of Computer Programming 3(1983), pp. 65–100.
Apt, K.R., Plotkin, G.D.: Countable nondeterminism and random assignment. J. ACM 33(1986), pp. 724–767.
Apt, K.R., Pnueli, A., Stavi, J.: Fair termination revisited — with delay. Theoretical Computer Science 33 (1984), pp. 65–84.
Alpern, B., Schneider, F.B.: Verifying temporal properties without using temporal logic. Technical Report TR-85-723, Cornell University, Dec. 1985.
Alpern, B., Schneider, F.B.: Proving Boolean combinations of deterministic properties. To appear in Proc. 2nd IEEE Symp. on Logic in Computer Science, Ithaca, June 1987.
Boom, H.J.: A weaker precondition for loops. ACM Trans. on Programming Languages and Systems 4(1982), pp. 668–677.
Büchi, J.R.: On a decision method in restricted second-order arithmetics. Proc. Int'l Congr. on Logic, Method. and Phil. of Sci. 1960, Stanford University Press, 1962, pp. 1–12.
Choueka, Y.: Theories of automata on ω-tapes — a simplified approach. J. Computer and System Science 8(1974), pp. 117–141.
Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specification. ACM Trans. on Programming Languages and Systems 8(1986), pp. 244–263.
Dayan, I., Harel, D.: Fair termination with cruel schedulers. Fundamenta Informatica 9(1986), pp. 1–12.
Francez, N.: Fairness. Text and Monographs in Computer Science, Springer-Verlag, 1986.
Grumberg, O., Francez, N., Makowsky, J.A., de Roever, W.P.: A proof rule for fair termination of guarded command. Information and Control 66(1985), pp. 83–102.
Harel, D.: Effective transformations on infinite trees, with applications to high undecidability, dominoes, and fairness. J. ACM 33(1986), pp. 225–248.
Hailpern, B.T., Owicki, S.S.: Modular verification of computer communication protocols. IEEE Trans. on Comm. COM-31(1983), pp. 56–68.
Harel, D., Pnueli, A., Stavi, J.: Propositional dynamic logic of non-regular programs. J. Computer and System Sciences 26(1983) 222–243.
Lichtenstein, O., Pnueli, A.: Checking that finite-state concurrent programs satisfy their linear specification. Proc. 12th ACM Symp. on Principles of programming Languages, 1985, pp. 97–107.
Lehman, D., Pnueli, A., Stavi, J.: Impartiality, justice, and fairness — the ethic of concurrent termination. Proc. 8th Int'l Colloq. on Automata, Language, and Programming, LNCS 115, Springer-Verlag, 1981, pp. 264–277.
Z. Manna, A. Pnueli — Verification of concurrent programs: the temporal framework. In The Correctness Problem in Computer Science, (R.S. Boyer, J.S. Moore, eds.) International Lecture Series in Computer Science, Academic Press, London, 1981, 215–273.
Manna, Z., Pnueli, A.: How to cook a temporal proof system for your pet language. Proc. 10th Symposium on Principles of Programming Languages, Austin, Texas, 1983, pp. 141–154.
Manna, Z., Pnueli, A.: Proving precedence properties: The temporal way. Proc. 10 Int'l Colloq.on Automata Languages and Programming, LNCS 154, Springer Verlag, 1983, pp. 491–512.
Manna, Z., Pnueli, A.: Adequate proof principles for invariance and liveness of concurrent programs. Science of Computer Programming 4(1984), pp. 257–289.
Manna, Z., Pnueli, A.: Specification and verification of concurrent programs by ∀-automata. Proc. 14 ACM Symp. on Principles of Programming Languages, Munich, Jan. 1987, pp. 1–12.
Nivat, M.: Behavior of processes and synchronized systems of processes. In Theoretical Foundations of Programming Methodology (M. Broy, G. Schmidt, eds.), Reidel, 1982, pp. 473–551.
Owicki, S.S., Lamport, L.: Proving liveness properties of concurrent programs. ACM Trans. on Programming Languages and Systems 4(1982), pp. 455–495.
Park, D.: On the semantics of fair parallelism. Proc. Copenhagen Winter School on Abstract Software Specification, 1979, LNCS 86, Springer-Verlag.
Park, D.: A predicate transformer for weak fair termination. Proc. 6th IBM Symp. on Math. Foundations of Computer Science, Hakone, Japan, 1981.
Park, D.: Concurrency and automata on infinite sequences. Proc. 5th GI Conf. on Theoretical Computer Science, 1981, Springer-Verlag, LNCS 104, pp. 167–183.
Pnueli, A.: The temporal logic of program. Proc. 18th Symp. on Foundations of Computer Science, 1977, pp. 46–57.
Pnueli, A.: The temporal semantics of concurrent programs. Theoretical Computer Science 13 (1981), pp. 45–60.
Queille, J.P., Sifakis, J.: Fairness and related properties in transition systems — a temporal logic to deal with fairness. Acta Informatica 19(1983), pp. 195–220.
Rogers, H.: Theory of recursive functions and effective computability. McGraw-Hill, 1967.
Rinat, R., Francez, N., Grumberg, O.: Infinite trees, markings, and well-foundedness. Proc. 11th Colloq. on Trees in Algebra and Programming (CAAP 86), LNCS 214, Springer-Verlag, pp. 238–253.
Rescher, N, Urquhart, A.: Temporal Logic. Springer-Verlag, 1971.
Streett, R.S.: Propositional dynamic logic of looping and converse. Information and Control 54(1982), pp. 121–141.
Sistla, A.P., Clarke, E.M.: The complexity of propositional linear temporal logics. J. ACM 32(1985), pp. 733–749.
Sistla, A.P., Vardi, M.Y., Wolper, P.: The complementation problem for Büchi automata with applications to temporal logic. Proc. 12th Int'l Colloq. on Automata, Languages, and Programming, LNCS 194, Springer-Verlag, 1985, pp. 465–474. To appear in Theoretical Computer Science.
Vardi, M.Y.: Automatic verification of probabilistic concurrent finite-state programs. Proc. 26th IEEE Symp. on Foundations of Computer Science, Portland, 1985, pp. 327–338.
Vardi, M.Y.: Verification of concurrent programs — the automata-theoretic framework. Proc. 2nd IEEE Symp. on Logic in Computer Science, Ithaca, 1987, pp. 167–176.
Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. Proc. IEEE Symp. on Logic in Computer Science, Cambridge, 1986, pp. 332–344.
Wolper, P.: Temporal logic can be more expressive. Information and Control 56(1983), pp. 72–99.
Wolper, P.: Expressing interesting properties of programs in propositional temporal logic. Proc. 13th ACM Symp. on Principles of programming Languages. St. Petersburg Beach, Florida, 1986, pp. 184–193.
Wagner, K., Staiger, L.: Recursive ω-languages. Proc. Symp. on Foundation of Computation Theory, LNCS 56, Springer-Verlag, 1977, pp. 532–537.
Wolper, P.L., Vardi, M.Y., Sistla, A.P.: Reasoning about infinite computation paths. Proc. 24th IEEE Symp. on Foundation of Computer Science, Tuscon, 1983, pp. 185–194.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Vardi, M.Y. (1989). Unified verification theory. In: Banieqbal, B., Barringer, H., Pnueli, A. (eds) Temporal Logic in Specification. Lecture Notes in Computer Science, vol 398. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51803-7_27
Download citation
DOI: https://doi.org/10.1007/3-540-51803-7_27
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-51803-7
Online ISBN: 978-3-540-46811-0
eBook Packages: Springer Book Archive