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.
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
Farzan, A., Madhusudan, P.: Causal Atomicity. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 315–328. Springer, Heidelberg (2006)
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)
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)
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)
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
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)
Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model Checking Programs. Automated Software Engineering Journal 10(2) (April 2003)
Larus, J.R., Rajwar, R.: Transactional Memory. Morgan & Claypool (2006)
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)
Papadimitriou, C.: The Serializability of Concurrent Database Updates. Journal of the ACM 26(4), 631–653 (1979)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Rights 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)