Skip to main content

Automatic Refinement of Split Binary Semaphore

  • Conference paper
Theoretical Aspects of Computing – ICTAC 2007 (ICTAC 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4711))

Included in the following conference series:

  • 396 Accesses

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.

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. Dijkstra, E.W.: A tutorial on the split binary semaphore (March 1979), http://www.cs.utexas.edu/users/EWD/ewd07xx/EWD703.PDF

  2. Schneider, F.B.: On Concurrent Programming. Graduate texts in computer science. Springer, New York, Inc. (1997)

    MATH  Google Scholar 

  3. Bjorner, N., Browne, A., Manna, Z.: Automatic generation of invariants and intermediate assertions. Theor. Comput. Sci. 173(1), 49–87 (1997)

    Article  MathSciNet  Google Scholar 

  4. 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)

    Google Scholar 

  5. Paulson, L.C.: The Isabelle reference manual (2004), http://isabelle.in.tum.de/doc/ref.pdf

  6. Andrews, G.: Foundations of Multithreaded, Parallel, and Distributed Programming. Addison-Wesley, Reading, Massachusetts, USA (1999)

    Google Scholar 

  7. Martin, A., van de Snepscheut, J.: Design of synchronization algorithms. Constructive Methods in Computing Science, pp. 445–478 (1989)

    Google Scholar 

  8. 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

  9. 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)

    Chapter  Google Scholar 

  10. Manna, Z., Pnueli, A.: On the faithfulness of formal models. In: Mathematical Foundations of Computer Science, pp. 28–42 (1991)

    Google Scholar 

  11. Dijkstra, E.W., Scholten, C.S.: Predicate calculus and program semantics. Springer, New York, Inc. (1990)

    MATH  Google Scholar 

  12. Kessels, J.L.W.: An alternative to event queues for synchronization in monitors. Commun. ACM 20(7), 500–503 (1977)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Cliff B. Jones Zhiming Liu Jim Woodcock

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics