Skip to main content

Compositional Static Analysis for Implicit Join Synchronization in a Transactional Setting

  • Conference paper
Software Engineering and Formal Methods (SEFM 2013)

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

Included in the following conference series:

Abstract

We present an effect-based static analysis to calculate upper bounds on multithreaded and nested transactions as measure for the resource consumption in an execution model supporting implicit join synchronization. The analysis is compositional and takes into account implicit join synchronizations that arise when more than one thread jointly commit a transaction. Central for a compositional and precise analysis is to capture as part of the effects a tree-representation of the future resource consumption and synchronization points (which we call joining commit trees). The analysis is formalized for a concurrent variant of Featherweight Java extended by transactional constructs. We show the soundness of the analysis.

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. Braberman, V., Garbervetsky, D., Yovine, S.: A static analysis for synthesizing parametric specifications of dynamic memory consumption. Journal of Object Technology 5(5) (2006)

    Google Scholar 

  2. Chin, W.-N., Nguyen, H.H., Qin, S.C., Rinard, M.: Memory usage verification for OO programs. In: Hankin, C., Siveroni, I. (eds.) SAS 2005. LNCS, vol. 3672, pp. 70–86. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  3. Harris, T., Larus, J.R., Rawja, R.: Transactional Memory, 2nd edn. Morgan & Claypool (2010)

    Google Scholar 

  4. Hoffmann, J., Aehlig, K., Hofmann, M.: Multivariate amortized resource analysis. In: Proceedings of POPL 2011. ACM (January 2011)

    Google Scholar 

  5. Hoffmann, J., Hofmann, M.: Amortized resource analysis with polynomial potential. A static inference of polynomial bounds for functional programs. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 287–306. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  6. Hofmann, M., Jost, S.: Static prediction of heap space usage for first-order functional programs. In: Proceedings of POPL 2003. ACM (January 2003)

    Google Scholar 

  7. Hofmann, M., Jost, S.: Type-based amortised heap-space analysis. In: Sestoft, P. (ed.) ESOP 2006. LNCS, vol. 3924, pp. 22–37. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  8. Hughes, J., Pareto, L., Sabry, A.: Proving the correctness of reactive systems using sized types. In: Proceedings of POPL 1996. ACM (January 1996)

    Google Scholar 

  9. Jagannathan, S., Vitek, J., Welc, A., Hosking, A.: A transactional object calculus. Science of Computer Programming 57(2) (August 2005)

    Google Scholar 

  10. Mai Thuong Tran, T., Steffen, M.: Safe commits for Transactional Featherweight Java. In: Méry, D., Merz, S. (eds.) IFM 2010. LNCS, vol. 6396, pp. 290–304. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  11. Mai Thuong Tran, T., Steffen, M., Truong, H.: Estimating resource bounds for software transactions. Technical report 414, University of Oslo, Dept. of Informatics (December 2011)

    Google Scholar 

  12. Sewell, P., Nardelli, F.Z., Owens, S., Peskine, G., Ridge, T., Sarkar, S., Strniša, R.: Ott: Effective tool support for the working semanticist. Journal of Functional Programming 20(1) (2010)

    Google Scholar 

  13. Shavit, N., Toitu, D.: Software transactional memory. In: 22nd POPL. ACM (January 1995)

    Google Scholar 

  14. Truong, H., Bezem, M.: Finding resource bounds in the presence of explicit deallocation. In: Van Hung, D., Wirsing, M. (eds.) ICTAC 2005. LNCS, vol. 3722, pp. 227–241. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  15. Unnikrishnan, L., Stoller, S.D., Liu, Y.A.: Optimized live heap bound analysis. In: Zuck, L.D., Attie, P.C., Cortesi, A., Mukhopadhyay, S. (eds.) VMCAI 2003. LNCS, vol. 2575, pp. 70–85. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  16. Xuan, T.V., Anh, H.T., Mai Thuong Tran, T., Steffen, M.: A type system for finding upper resource bounds of multi-threaded programs with nested transactions. In: ACM Proceedings of the 3rd ACM International Symposium on Information and Communication Technology, SoICT, ACM (2012)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mai Thuong Tran, T., Steffen, M., Truong, H. (2013). Compositional Static Analysis for Implicit Join Synchronization in a Transactional Setting. In: Hierons, R.M., Merayo, M.G., Bravetti, M. (eds) Software Engineering and Formal Methods. SEFM 2013. Lecture Notes in Computer Science, vol 8137. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40561-7_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-40561-7_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-40560-0

  • Online ISBN: 978-3-642-40561-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics