Abstract
Binary semaphores can be used to implement conditional critical regions by using the split binary semaphore (SBS) technique. Given a specification of a conditional critical regions problem, the SBS technique provides not only the resulting programs but also some invariants which ensure the correctness of the solution. The programs obtained in this way are generally not efficient. However, they can be optimized by strengthening these invariants and using them to eliminate unnecessary tests.
We present a mechanical method to perform these optimizations. The idea is to use the backward propagation technique over a guarded transition system that models the behavior of the programs generated by the SBS. This process needs proving heavy implications and simplifying growing invariants. Our method automatically entrusts these tasks to the Isabelle theorem prover and the CVC Lite validity checker. We have tested our method on a number of classical examples from concurrent programming.
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
Dijkstra, E.W.: A tutorial on the split binary semaphore (March 1979), http://www.cs.utexas.edu/users/EWD/ewd07xx/EWD703.PDF
Schneider, F.B.: On Concurrent Programming. Graduate texts in computer science. Springer, New York, Inc. (1997)
Bjorner, N., Browne, A., Manna, Z.: Automatic generation of invariants and intermediate assertions. Theor. Comput. Sci. 173(1), 49–87 (1997)
Barrett, C., Berezin, S.: CVC Lite: A new implementation of the cooperating validity checker. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 515–518. Springer, Heidelberg (2004)
Paulson, L.C.: The Isabelle reference manual (2004), http://isabelle.in.tum.de/doc/ref.pdf
Andrews, G.: Foundations of Multithreaded, Parallel, and Distributed Programming. Addison-Wesley, Reading, Massachusetts, USA (1999)
Martin, A., van de Snepscheut, J.: Design of synchronization algorithms. Constructive Methods in Computing Science, pp. 445–478 (1989)
Barsotti, D., Blanco, J.O.: (Im)proving split binary semaphores. Tecnical Report (2007), Available at http://www.cs.famaf.unc.edu.ar/~damian/publicaciones/sbdinv/SBDwip_ext.pdf
Tiwari, A., Rueß, H., Saïdi, H., Shankar, N.: A technique for invariant generation. In: Margaria, T., Yi, W. (eds.) ETAPS 2001 and TACAS 2001. LNCS, vol. 2031, pp. 113–127. Springer, Heidelberg (2001)
Manna, Z., Pnueli, A.: On the faithfulness of formal models. In: Mathematical Foundations of Computer Science, pp. 28–42 (1991)
Dijkstra, E.W., Scholten, C.S.: Predicate calculus and program semantics. Springer, New York, Inc. (1990)
Kessels, J.L.W.: An alternative to event queues for synchronization in monitors. Commun. ACM 20(7), 500–503 (1977)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Barsotti, D., Blanco, J.O. (2007). Automatic Refinement of Split Binary Semaphore. In: Jones, C.B., Liu, Z., Woodcock, J. (eds) Theoretical Aspects of Computing – ICTAC 2007. ICTAC 2007. Lecture Notes in Computer Science, vol 4711. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75292-9_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-75292-9_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-75290-5
Online ISBN: 978-3-540-75292-9
eBook Packages: Computer ScienceComputer Science (R0)