Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Formal verification of parallel programs

Published: 01 July 1976 Publication History

Abstract

Two formal models for parallel computation are presented: an abstract conceptual model and a parallel-program model. The former model does not distinguish between control and data states. The latter model includes the capability for the representation of an infinite set of control states by allowing there to be arbitrarily many instruction pointers (or processes) executing the program. An induction principle is presented which treats the control and data state sets on the same ground. Through the use of “place variables,” it is observed that certain correctness conditions can be expressed without enumeration of the set of all possible control states. Examples are presented in which the induction principle is used to demonstrate proofs of mutual exclusion. It is shown that assertions-oriented proof methods are special cases of the induction principle. A special case of the assertions method, which is called parallel place assertions, is shown to be incomplete. A formalization of “deadlock” is then presented. The concept of a “norm” is introduced, which yields an extension, to the deadlock problem, of Floyd's technique for proving termination. Also discussed is an extension of the program model which allows each process to have its own local variables and permits shared global variables. Correctness of certain forms of implementation is also discussed. An Appendix is included which relates this work to previous work on the satisfiability of certain logical formulas.

References

[1]
Ashcroft, E., and Manna, Z. Formalization of properties of parallel programs. Machine Intelligence 6 (1970) 17-41.
[2]
Ashcroft, E.A. Proving assertions about parallel programs. J. Comp. Sys. Sci. 10, 1 (Jan. 1975), 110-135.
[3]
Brinch Hansen, P. A comparison of two synchronizing concepts. Acta lnformatica 1 (1972), 190-199.
[4]
Conway, M. A multiprocessor system design. AFIPS Conf. Proc., VoL 24, AFIPS Press, Montvale, N.J., 1963, pp. 139-148.
[5]
Courtois, P.J., Heymans, R., an d Parnas, D.L. Concurrent cntrol with readers and writers. Comm. ACM 14, 10 (Oct. 1971), 667-668.
[6]
Dijkstra, E.W. Hierarchical ordering of sequential processes. Acta Informatica I (1971), 115-138.
[7]
Floyd, R.W. Assigning meanings to programs. Proc. Syrup. in Appl. Math, Vol. 19, Amer. Math. Sot., Provincetown, R.I., 1967, pp. 19-32.
[8]
Habermarm, A.N. Prevention of system deadlocks. Comm. ACM 12, 7 (July 1969), 373-377.
[9]
Habermann, A.N. Synchronization of communicating processes. Comm. ACM 15, 3 (March 1972), 177-184.
[10]
Hoare, C.A.R. Towards a theory of parallel programming. In Operating Systems Techniques, Hoare and Perrot (Eds.), Academic Press, New York, 1972, pp. 61-71.
[11]
Holt, A., and Commoner, F. Events and conditions. Record of the Project MAC Conference on Concurrent Systems and Parallel Computation, June 1970, pp. 3-52.
[12]
Holt, R.C. On deadlock in computer systems. Tech. Rep. CSRG-6, Computer Systems Research Group, U. of Toronto, Apil 1971.
[13]
IBM PL/I Reference Manual, Form C28-8201-1, March 1968.
[14]
Karp, R.M., and Miller, R.E. Parallel program schemata, J. Computer Sci. 3 (May 1969), 147-195.
[15]
Keller, R.M. Parallel program schemata and maximal parallelism. J. ACM 20, 3 (July 1973), 514-537; and J. ACM 20, 4 (Oct. 1973), 696-710.
[16]
Keller, R.M. Vector replacement systems: a formalism for modeling asynchronous systems. TR 117, Computer Sci. Lab., Dep. of Electrical Eng., Princeton U., Dec. 1972 (revised Jan. 1974).
[17]
Keller, R.M. A fundamental theorem of asynchronous parallel computation, In Parallel Processing, T.Y. Feng (Ed.), Springer- Verlag, Berlin, 1975.
[18]
Keller, R.M. Generalized Petri nets as models for system verification (to appear).
[19]
Lauer, H.C. Correctness in operating systems, Ph.D. Th., Carnegie-Mellon U., Sept. 1972.
[20]
Levitt, K.N. The application of program-proving techniques to the verification of synchronization processes, AFIPS Conference Proc., Vol. 41, 1972 FJCC, AFIPS Press, Montvale, N.J., 1972, pp. 33-47.
[21]
Lipton, R.J. Reduction: A method of proving properties of systems of processes. Research Rep. No. 40, Yale U. Dep. of Computer Sci., March 1975.

Cited By

View all
  • (2024)A framework for extending co-creative communication models to sustainability researchFrontiers in Artificial Intelligence10.3389/frai.2024.12363107Online publication date: 5-Aug-2024
  • (2024)An Introduction to Decision Diagrams for OptimizationTutorials in Operations Research: Smarter Decisions for a Better World10.1287/educ.2024.0276(117-145)Online publication date: 17-Oct-2024
  • (2024)Consistency Checking for Refactoring from Coarse-Grained Locks to Fine-Grained LocksInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402450014134:07(1063-1093)Online publication date: 5-Jun-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 19, Issue 7
July 1976
56 pages
ISSN:0001-0782
EISSN:1557-7317
DOI:10.1145/360248
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 July 1976
Published in CACM Volume 19, Issue 7

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Petri nets
  2. assertions
  3. correctness
  4. deadlock
  5. mutual exclusion
  6. parallel program
  7. verification

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)397
  • Downloads (Last 6 weeks)38
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)A framework for extending co-creative communication models to sustainability researchFrontiers in Artificial Intelligence10.3389/frai.2024.12363107Online publication date: 5-Aug-2024
  • (2024)An Introduction to Decision Diagrams for OptimizationTutorials in Operations Research: Smarter Decisions for a Better World10.1287/educ.2024.0276(117-145)Online publication date: 17-Oct-2024
  • (2024)Consistency Checking for Refactoring from Coarse-Grained Locks to Fine-Grained LocksInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402450014134:07(1063-1093)Online publication date: 5-Jun-2024
  • (2024)Keeping Behavioral Programs Alive: Specifying and Executing Liveness Requirements2024 IEEE 32nd International Requirements Engineering Conference (RE)10.1109/RE59067.2024.00019(91-102)Online publication date: 24-Jun-2024
  • (2024)Enhancing Safety for Autonomous Agents in Partly Concealed Urban Traffic Environments Through Representation-Based Shielding2024 IEEE Intelligent Vehicles Symposium (IV)10.1109/IV55156.2024.10588668(1758-1763)Online publication date: 2-Jun-2024
  • (2024)Guided Evolution of IEC 61499 Applications2024 IEEE 29th International Conference on Emerging Technologies and Factory Automation (ETFA)10.1109/ETFA61755.2024.10711116(01-08)Online publication date: 10-Sep-2024
  • (2024)Early analysis of requirements using NLP and Petri-netsJournal of Systems and Software10.1016/j.jss.2023.111901208:COnline publication date: 1-Feb-2024
  • (2024)Coherent modal transition systems refinementJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2024.100954138(100954)Online publication date: Apr-2024
  • (2024)Back to the format: A survey on SOS for probabilistic processesJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2023.100929137(100929)Online publication date: Feb-2024
  • (2024)Noninterference Analysis of  Reversible Probabilistic SystemsFormal Techniques for Distributed Objects, Components, and Systems10.1007/978-3-031-62645-6_3(39-59)Online publication date: 17-Jun-2024
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media