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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Attie, P., Emerson, E.: Synthesis of concurrent systems with many similar processes. ACM Tran. on Programming Languages and Systems 20(1), 51–115 (1998)
Alur, R., Taubenfeld, G.: Contention-free complexity of shared memory algorithms. Information and Computation 126(1), 62–73 (1996)
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)
Burns, J.N., Lynch, N.A.: Bounds on shared-memory for mutual exclusion. Information and Computation 107(2), 171–184 (1993)
Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. The MIT Press, Cambridge (2000)
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)
Emerson, E., Clarke, E.M.: Using branching time temporal logic to synthesize synchronization skeletons. Science of Computer Programming 2, 241–266 (1982)
Dijkstra, E.W.: Solutions of a problem in concurrent programming control. Communications of the ACM 8(9), 569 (1965)
Kessels, J.L.W.: Arbitration without common modifiable variables. Acta Informatica 17(2), 135–141 (1982)
Knuth, D.E.: The art of computer programming, 2nd edn. Addison-Wesley, Reading (1973)
Kupferman, O., Vardi, M.: Synthesizing distributed systems. In: Proc. of the 16th IEEE Symp. on logic in computer science (2001)
Lamport, L.: The mutual exclusion problem: Part II - Statement and Solutions. Journal of the ACM 33, 327–348 (1986)
Manna, Z., Waldinger, R.: A deductive approach to program synthesis. ACM Transactions on Programming Languages and Systems 2(1), 90–121 (1980)
Manna, Z., Wolper, P.: Synthesis of communicating processes from temporal logic specifications. ACM Tran. on Programming Lang. and Systems 6(1), 68–93 (1984)
Peterson, G.L.: Myths about the mutual exclusion problem. Information Processing Letters 12(3), 115–116 (1981)
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)
Pnueli, A., Rosner, R.: Distributed reactive systems are hard to synthesize. In: Proc. of the 31st FOCS, pp. 746–757 (1990)
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)
Raynal, M.: Algorithms for mutual exclusion. The MIT Press, Cambridge (1986); Translation of: Algorithmique du parallelisme (1984)
Tarjan, R.E.: Data Structures and Network Algorithms. Society for industrial and Applied Mathematics (1983)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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