skip to main content
research-article
Open Access

A methodology for designing proof rules for fair parallel programs

Authors Info & Claims
Published:01 July 1997Publication History
Skip Abstract Section

Abstract

Abstract

We propose a methodology for designing sound and complete proof systems for proving progress properties of parallel programs under various fairness assumptions. Our methodology begins with a branching time temporal logic formula (CTL*) formula that expresses progress under a fairness assumption. The next step obtains an equivalent fixpoint characterization of this CTL* formula in theμ-calculus. The final step uses the fixpoint characterizations to extract proof systems for proving progress under the fairness constraint. The methodology guarantees that the proof rules so obtained are sound and relatively complete in the sense of Cook.

References

  1. [ApP86] Apt K.Plotkin G.Countable nondeterminism and random assignmentJournal of the ACM1986334724767Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. [APS84] Apt K.Pnueli A.Stavi J.Fair termination revisited with delayTheoretical Computer Science1984336584Google ScholarGoogle ScholarCross RefCross Ref
  3. [Apt81] Apt K.Ten years of Hoare logic — part 1ACM Transactions on Programming Languages and Systems198134431483Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. [AlS85] Alpern B.Schneider F.Defining livenessInf. Process. Lett.1985244181185Google ScholarGoogle Scholar
  5. [ChM88] Mani Chandy K.Misra J.Parallel Program Design: A Foundation1988Reading, MassachusettsAddisonWesleyGoogle ScholarGoogle Scholar
  6. [Coo78] Cook S.Soundness and completeness of an axiom system for program verificationSIAM Journal of Computing1978717090Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. [Dij75] Dijkstra E. W.Guarded commands, nondeterminacy and the formal derivation of programsCommun. of the ACM1975188453457Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. [DiS90] Dijkstra E. W.Scholten C. S.Predicate Calculus and Program Semantics1990New YorkSpringerVerlagGoogle ScholarGoogle ScholarCross RefCross Ref
  9. [EmC81] Allen Emerson E.Clarke E.de Bakker Jacovan Leeuwen JanCharacterizing correctness properties of parallel programs using fixpointsLecture Notes in Computer Science 85: Proceedings of the Seventh ICALP1981New YorkSpringer-VerlagGoogle ScholarGoogle Scholar
  10. [EmL85] Allen Emerson, E. and Lei, D. L.: Modalities for model checking: Branching time strikes back. InProceedings of the 12th Annual ACM Symposium on the Principles of Programming Languages, New Orleans, LA, January 1985.Google ScholarGoogle Scholar
  11. [EmL86] Allen Emerson, E. and Lei, D. L.: Model-checking in the propositionalμ-calculus. InProceedings of the Fist Annual IEEE Symposium on Logic in Computer Science, 1986.Google ScholarGoogle Scholar
  12. [Flo67] Floyd R. W.Assigning meanings to programsProceedings of the American Mathematical Society's Symposia in Applied Mathematics1967191931Google ScholarGoogle ScholarCross RefCross Ref
  13. [Fra86] Francez N.Fairness1986New YorkSpringer-VerlagGoogle ScholarGoogle Scholar
  14. [GFM81] Grumberg, O., Francez, N., Makowsky, J. A. and De Roever, W-P.: A proof rule for the fair termination of guarded commands. InProceedings of the International Symposium on Algorithmic Languages, Amsterdam, The Netherlands, October 1981.Google ScholarGoogle Scholar
  15. [GPS80] Gabbay, D., Pnueli, A., Shelah, S. and Stavi, J.: On the temporal analysis of fairness. InProceedings of the Seventh Annual ACM Symposium on the Principles of Programming Languages, Las Vegas, Nevada, January 1980.Google ScholarGoogle Scholar
  16. [Hoa69] Hoare C. A. R.An axiomatic basis for computer programmingCommunications of the ACM19691210576580Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. [HoU79] Hopcroft, J. E. and Ullman, J. D.:Intoduction to Automata Theory, Languages and Computation. Addison-Wesley, 1979.Google ScholarGoogle Scholar
  18. [JKR89] Jutla, C. S., Knapp, E. and Rao, J. R.: A predicate transformer approach to the semantics of parallel programs. InProceedings of the Eighth Annual ACM Symposium on the Principles of Distributed Computing, pages 249–263, 1989.Google ScholarGoogle Scholar
  19. [JuR92] Jutla C. S.Rao J. R.On a fixpoint semantics and the design of proof rules for fair parallel programsTechnical Report TR-92-231992AustinThe University of TexasGoogle ScholarGoogle Scholar
  20. [Kel76] Keller R. M.Formal verification of parallel programsCommunications of the ACM1976197371384Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. [Kna88] Knapp E.A comparison of theled-from andleads-toTechnical Report TR-88-351988AustinThe University of TexasGoogle ScholarGoogle Scholar
  22. [Koz82] Kozen D.Results on the propositional mu-calculusLecture Notes in Computer Science 140: Proceedings of the Ninth ICALP1982New YorkSpringer-Verlag348359Google ScholarGoogle Scholar
  23. [Lam77] Lamport L.Proving the correctness of multiprocess programsIEEE Transactions on Software Engineering197732125143Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. [LPS81] Lehmann D.Pnueli A.Stavi J.Kariv O.Even S.Impartiality, justice and fairness: The ethics of concurrent terminationLecture Notes in Computer Science 115: Proceedings of the Eighth ICALP1981New YorkSpringer-VerlagGoogle ScholarGoogle Scholar
  25. [MaP83] Manna, Z. and Pnueli, A.: How to cook a temporal proof system for your pet language. InProceedings of the Tenth Annual ACM Symposium on the Principles of Programming Languages, pages 141–154, 1983.Google ScholarGoogle Scholar
  26. [MaP84] Manna Z.Pnueli A.Adequate proof principles for invariance and liveness properties of concurrent programsScience of Computer Programming19844257289Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. [Niw88] Niwinski, D.: Fixed points versus infinite generation. InProceedings of the Third Annual IEEE Symposium on Logic in Computer Science, pages 402–409, 1988.Google ScholarGoogle Scholar
  28. [OwG76a] Owicki S.Gries D.An axiomatic proof technique for parallel programsActa Informatica19765319339Google ScholarGoogle Scholar
  29. [OwG76b] Owicki S.Gries D.Verifying properties of parallel programs: An axiomatic approachCommunications of the ACM1976195279286Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. [OwL82] Owicki S.Lamport L.Proving liveness properties of concurrent programsACM Transactions on Programming Languages and Systems198243455495Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. [Pac90] Pachl, J.: Three definitions ofleads-to for unity. Notes on UNITY 23-90, 1990.Google ScholarGoogle Scholar
  32. [Par80] Park, D.: On the semantics of fair parallelism. In D. Biorner, editor,Lecture Notes in Computer Science 86: Proceedings of the Winter School on Formal Software Specification. Springer-Verlag, 1980.Google ScholarGoogle Scholar
  33. [Par81] Park D.A predicate transformer for weak fair iterationProceedings of the Sixth IBM Symposium on Mathematical Foundations of Computer Science (Hakone)1981New YorkIBMGoogle ScholarGoogle Scholar
  34. [Pnu83] Pnueli A.On the extremely fair treatment of probabilistic algorithms1983New YorkACM278290Google ScholarGoogle Scholar
  35. [QuS83] Queille J. P.Sifakis J.Fairness and related properties in transition systems — a temporal logic to deal with fairnessActa Informatica198319195220Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. [Rao95] Rao, J. R.:Extensions of the UNITY Methodology: Compositionality, Fairness And Probability In Parallelism, volume 908 ofLecture Notes in Computer Science. Springer-Verlag, 1995.Google ScholarGoogle Scholar
  37. [Ros82] Rosenstein, J. G.:Linear Orderings. Academic Press, 1982.Google ScholarGoogle Scholar
  38. [SdR89] Stomp F. A.de Roever W-P.Gerth R. T.Theμ-calculus as an assertion language for fairness argumentsInformation and Computation1989823278322Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. [Wal93] Walukiewicz, I.: On completeness of theμ-calculus. InProceedings of the Eighth Annual IEEE Symposium on Logic in Computer Science, 1993.Google ScholarGoogle Scholar
  40. [Wan78] Wand M.A new incompleteness result for Hoare's systemJournal of the ACM1978251168175Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A methodology for designing proof rules for fair parallel programs
            Index terms have been assigned to the content through auto-classification.

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Article Metrics

              • Downloads (Last 12 months)5
              • Downloads (Last 6 weeks)2

              Other Metrics

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader