Skip to main content

Rollback Atomicity

  • Conference paper
Runtime Verification (RV 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4839))

Included in the following conference series:

  • 484 Accesses

Abstract

We introduce a new non-interference criterion for concurrent programs: rollback atomicity. Similarly to other definitions of atomicity, rollback atomicity of a given concurrent execution requires that there be a matching serial execution. Rollback atomicity differs from other definitions of atomicity in two key regards. First, it is formulated as a special case of view refinement. As such, it requires a correspondence between the states of a concurrent and a serial execution for each atomic block rather than only at quiescent states. Second, it designates a subset of shared variables as peripheral and has more relaxed requirements for peripheral variables than previous non-interference criteria.

In this paper, we provide the motivation for rollback atomicity. We formally define it and compare it with other notions of atomicity and non-interference criteria. We built a runtime checker for rollback atomicity integrated into the refinement checking tool, VYRD. This implementation was able to verify that concurrent executions of our motivating example are rollback atomic.

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. Farzan, A., Madhusudan, P.: Causal Atomicity. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 315–328. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  2. Flanagan, C., Freund, S.N.: Atomizer: A Dynamic Atomicity Checker for Multithreaded Programs. In: Proc. 31st ACM Symposium on Principles of Programming Languages, pp. 256–267 (2004)

    Google Scholar 

  3. Flanagan, C., Freund, S., Qadeer, S.: Exploiting Purity for Atomicity. In: Proc. the Intl. Symposium on Software Testing and Analysis (ISSTA 2004), ACM Press, New York (2004)

    Google Scholar 

  4. Flanagan, C.: Verifying Commit-Atomicity Using Model Checking. In: Graf, S., Mounier, L. (eds.) Model Checking Software. LNCS, vol. 2989, pp. 252–266. Springer, Heidelberg (2004)

    Google Scholar 

  5. Harris, T., Stipic, S.: Abstract Nested Transactions. In: The 2nd ACM SIGPLAN Workshop on Transactional Computing, TRANSACT 2007, available at http://www.cs.rochester.edu/meetings/TRANSACT07/papers/harris.pdf

  6. Herlihy, M.P., Wing, J.M.: Linearizability: A Correctness Condition for Concurrent Objects. ACM Trans. on Programming Languages and Systems 12(3), 463–492 (1990)

    Article  Google Scholar 

  7. Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model Checking Programs. Automated Software Engineering Journal 10(2) (April 2003)

    Google Scholar 

  8. Larus, J.R., Rajwar, R.: Transactional Memory. Morgan & Claypool (2006)

    Google Scholar 

  9. Manson, J., Pugh, W., Adve, S.: The Java Memory Model. In: Proc. POPL 2005. Principles of Programming Languages, pp. 378–391. ACM Press, New York (2005)

    Google Scholar 

  10. Papadimitriou, C.: The Serializability of Concurrent Database Updates. Journal of the ACM 26(4), 631–653 (1979)

    Article  MATH  MathSciNet  Google Scholar 

  11. Pearce, D.J., Kelly, P.H., Hankin, C.: Online Cycle Detection and Difference Propagation: Applications to Pointer Analysis. Software Quality Control 12(4), 311–337 (2004)

    Google Scholar 

  12. Wang, L., Stoller, S.D.: Accurate and Efficient Runtime Detection of Atomicity Errors in Concurrent Programs. In: PPoPP 2006: Proc. of the 11th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 137–146 (2006)

    Google Scholar 

  13. Elmas, T., Tasiran, S., Qadeer, S.: Vyrd: Verifying Concurrent Programs by Runtime Refinement-Violation detection. In: PLDI 2005: Proc. 2005 ACM SIGPLAN Conf. on Programming Language Design and Implementation, pp. 27–37 (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Oleg Sokolsky Serdar Taşıran

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Tasiran, S., Elmas, T. (2007). Rollback Atomicity. In: Sokolsky, O., Taşıran, S. (eds) Runtime Verification. RV 2007. Lecture Notes in Computer Science, vol 4839. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77395-5_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-77395-5_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-77394-8

  • Online ISBN: 978-3-540-77395-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics