Reasoning about Lock Placements

  • Peter Hawkins
  • Alex Aiken
  • Kathleen Fisher
  • Martin Rinard
  • Mooly Sagiv
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7211)


A lock placement describes, for each heap location, which lock guards the location, and under what circumstances. We formalize methods for reasoning about lock placements, making precise the interactions between the program, the heap structure, and the lock placement.


Memory Location Incoming Edge Access Path Separation Logic Placement Function 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Attiya, H., Ramalingam, G., Rinetzky, N.: Sequential verification of serializability. In: POPL, pp. 31–42. ACM, New York (2010)Google Scholar
  2. 2.
    Bronson, N.G., Casper, J., Chafi, H., Olukotun, K.: Transactional predication: high-performance concurrent sets and maps for STM. In: PODC, pp. 6–15. ACM, New York (2010)Google Scholar
  3. 3.
    Cherem, S., Chilimbi, T., Gulwani, S.: Inferring locks for atomic sections. In: PLDI, pp. 304–315. ACM, New York (2008)CrossRefGoogle Scholar
  4. 4.
    Cunningham, D., Gudka, K., Eisenbach, S.: Keep Off the Grass: Locking the Right Path for Atomicity. In: Hendren, L. (ed.) CC 2008. LNCS, vol. 4959, pp. 276–290. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  5. 5.
    Deshmukh, J., Ramalingam, G., Ranganath, V.-P., Vaswani, K.: Logical Concurrency Control from Sequential Proofs. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 226–245. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  6. 6.
    Diniz, P.C., Rinard, M.C.: Lock coarsening: Eliminating lock overhead in automatically parallelized object-based programs. JPDC 49(2), 218–244 (1998)zbMATHGoogle Scholar
  7. 7.
    Emmi, M., Fischer, J.S., Jhala, R., Majumdar, R.: Lock allocation. In: POPL, pp. 291–296. ACM, New York (2007)Google Scholar
  8. 8.
    Eswaran, K.P., Gray, J.N., Lorie, R.A., Traiger, I.L.: The notions of consistency and predicate locks in a database system. Commun. ACM 19, 624–633 (1976)MathSciNetzbMATHCrossRefGoogle Scholar
  9. 9.
    Golan-Gueta, G., Bronson, N., Aiken, A., Ramalingam, G., Sagiv, M., Yahav, E.: Automatic fine-grained locking using shape properties. In: OOPSLA (2011)Google Scholar
  10. 10.
    Gotsman, A., Berdine, J., Cook, B., Rinetzky, N., Sagiv, M.: Local Reasoning for Storable Locks and Threads. In: Shao, Z. (ed.) APLAS 2007. LNCS, vol. 4807, pp. 19–37. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Halpert, R.L., Pickett, C.J.F., Verbrugge, C.: Component-based lock allocation. In: PACT, pp. 353–364. IEEE Computer Society, Washington, DC (2007)Google Scholar
  12. 12.
    Hawkins, P., Aiken, A., Fisher, K., Rinard, M., Sagiv, M.: Reasoning about lock placements (extended version). Tech. rep., Stanford University (2011),
  13. 13.
    Hawkins, P., Aiken, A., Fisher, K., Rinard, M., Sagiv, M.: Data representation synthesis. In: PLDI, pp. 38–49. ACM, New York (2011)Google Scholar
  14. 14.
    Hicks, M., Foster, J.S., Pratikakis, P.: Lock inference for atomic sections. In: TRANSACT (2006)Google Scholar
  15. 15.
    Jones, C.: Development methods for computer programs including a notion of interference. Ph.D. thesis, Oxford University (1981)Google Scholar
  16. 16.
    McCloskey, B., Zhou, F., Gay, D., Brewer, E.: Autolocker: Synchronization inference for atomic sections. In: POPL, pp. 346–358. ACM, New York (2006)Google Scholar
  17. 17.
    O’Hearn, P.W.: Resources, concurrency, and local reasoning. Theoretical Computer Science 375(1-3), 271–307 (2007)MathSciNetzbMATHCrossRefGoogle Scholar
  18. 18.
    Vafeiadis, V., Parkinson, M.: A Marriage of Rely/Guarantee and Separation Logic. In: Caires, L., Vasconcelos, V.T. (eds.) CONCUR 2007. LNCS, vol. 4703, pp. 256–271. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  19. 19.
    Wickerson, J., Dodds, M., Parkinson, M.: Explicit Stabilisation for Modular Rely-Guarantee Reasoning. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 610–629. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  20. 20.
    Zhang, Y., Sreedhar, V., Zhu, W., Sarkar, V., Gao, G.: Minimum Lock Assignment: A Method for Exploiting Concurrency among Critical Sections. In: Amaral, J.N. (ed.) LCPC 2008. LNCS, vol. 5335, pp. 141–155. Springer, Heidelberg (2008)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Peter Hawkins
    • 1
  • Alex Aiken
    • 1
  • Kathleen Fisher
    • 2
  • Martin Rinard
    • 3
  • Mooly Sagiv
    • 4
  1. 1.Stanford UniversityUS
  2. 2.Tufts UniversityUS
  3. 3.MITUS
  4. 4.Tel Aviv UniversityIsrael

Personalised recommendations