Skip to main content

Automatic Discovery of Mutual Exclusion Algorithms

(Preliminary Version)

  • Conference paper
Distributed Computing (DISC 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2848))

Included in the following conference series:

Abstract

We present a methodology for automatic discovery of synchronization algorithms. We built a tool and used it to automatically discover hundreds of new algorithms for the well-known problem of mutual exclusion. The methodology is rather simple and the fact that it is computationally feasible is surprising. Our brute force approach may require (even for short algorithms) the mechanical verification of hundreds of millions of incorrect algorithms before a correct algorithm is found. Although many new interesting algorithms have been found, we think the main contribution of this work is in demonstrating that the approach suggested for automatic discovery of (correct) synchronization algorithms is feasible.

Part of this work was done while the authors were with the Open University of Israel.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Attie, P., Emerson, E.: Synthesis of concurrent systems with many similar processes. ACM Tran. on Programming Languages and Systems 20(1), 51–115 (1998)

    Article  Google Scholar 

  2. Alur, R., Taubenfeld, G.: Contention-free complexity of shared memory algorithms. Information and Computation 126(1), 62–73 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  3. Burns, J.N., Lynch, N.A.: Mutual exclusion using indivisible reads and writes. In: 18th annual allerton conf. on communication, control and computing, pp. 833–842 (1980)

    Google Scholar 

  4. Burns, J.N., Lynch, N.A.: Bounds on shared-memory for mutual exclusion. Information and Computation 107(2), 171–184 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  5. Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. The MIT Press, Cambridge (2000)

    Google Scholar 

  6. Clarke, E.M., Wing, J.M., et al.: Formal Methods: State of the art and future directions. ACM Computing Surveys 28(4), 626–643 (1996)

    Article  Google Scholar 

  7. Emerson, E., Clarke, E.M.: Using branching time temporal logic to synthesize synchronization skeletons. Science of Computer Programming 2, 241–266 (1982)

    Article  MATH  Google Scholar 

  8. Dijkstra, E.W.: Solutions of a problem in concurrent programming control. Communications of the ACM 8(9), 569 (1965)

    Article  Google Scholar 

  9. Kessels, J.L.W.: Arbitration without common modifiable variables. Acta Informatica 17(2), 135–141 (1982)

    Article  MATH  MathSciNet  Google Scholar 

  10. Knuth, D.E.: The art of computer programming, 2nd edn. Addison-Wesley, Reading (1973)

    Google Scholar 

  11. Kupferman, O., Vardi, M.: Synthesizing distributed systems. In: Proc. of the 16th IEEE Symp. on logic in computer science (2001)

    Google Scholar 

  12. Lamport, L.: The mutual exclusion problem: Part II - Statement and Solutions. Journal of the ACM 33, 327–348 (1986)

    Article  MATH  MathSciNet  Google Scholar 

  13. Manna, Z., Waldinger, R.: A deductive approach to program synthesis. ACM Transactions on Programming Languages and Systems 2(1), 90–121 (1980)

    Article  MATH  Google Scholar 

  14. Manna, Z., Wolper, P.: Synthesis of communicating processes from temporal logic specifications. ACM Tran. on Programming Lang. and Systems 6(1), 68–93 (1984)

    Article  MATH  Google Scholar 

  15. Peterson, G.L.: Myths about the mutual exclusion problem. Information Processing Letters 12(3), 115–116 (1981)

    Article  MATH  Google Scholar 

  16. Peterson, G.L., Fischer, M.J.: Economical solutions for the critical section problem in a distributed system. In: Proc. 9th ACM Symp. on Theory of Computing, pp. 91–97 (1977)

    Google Scholar 

  17. Pnueli, A., Rosner, R.: Distributed reactive systems are hard to synthesize. In: Proc. of the 31st FOCS, pp. 746–757 (1990)

    Google Scholar 

  18. Perrig, A., Song, D.: Looking for diamonds in the desserts: Automatic security protocol generation for three-party authentication and Key distribution. In: Proc. of the 13th IEEE Computer Security Foundation Workshop (July 2000)

    Google Scholar 

  19. Raynal, M.: Algorithms for mutual exclusion. The MIT Press, Cambridge (1986); Translation of: Algorithmique du parallelisme (1984)

    MATH  Google Scholar 

  20. Tarjan, R.E.: Data Structures and Network Algorithms. Society for industrial and Applied Mathematics (1983)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bar-David, Y., Taubenfeld, G. (2003). Automatic Discovery of Mutual Exclusion Algorithms. In: Fich, F.E. (eds) Distributed Computing. DISC 2003. Lecture Notes in Computer Science, vol 2848. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39989-6_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39989-6_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20184-7

  • Online ISBN: 978-3-540-39989-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics