Skip to main content

Advertisement

SpringerLink
Log in
Menu
Find a journal Publish with us Track your research
Search
Cart
Book cover

European Symposium on Programming

ESOP 2007: Programming Languages and Systems pp 220–236Cite as

  1. Home
  2. Programming Languages and Systems
  3. Conference paper
Modular Shape Analysis for Dynamically Encapsulated Programs

Modular Shape Analysis for Dynamically Encapsulated Programs

  • N. Rinetzky1,
  • A. Poetzsch-Heffter2,
  • G. Ramalingam3,
  • M. Sagiv1 &
  • …
  • E. Yahav4 
  • Conference paper
  • 1019 Accesses

  • 8 Citations

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

Abstract

We present a modular static analysis which identifies structural (shape) invariants for a subset of heap-manipulating programs. The subset is defined by means of a non-standard operational semantics which places certain restrictions on aliasing and sharing across modules. More specifically, we assume that live references (i.e., used before set) between subheaps manipulated by different modules form a tree. We develop a conservative static analysis algorithm by abstract interpretation of our non-standard semantics. Our modular algorithm also ensures that the program obeys the above mentioned restrictions.

Keywords

  • Shape Analysis
  • Current Component
  • Memory State
  • Procedure Call
  • Execution Trace

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.

Chapter PDF

Download to read the full chapter text

References

  1. Cousot, P., Cousot, R.: Modular Static Program Analysis. In: Horspool, R.N. (ed.) CC 2002 and ETAPS 2002. LNCS, vol. 2304, Springer, Heidelberg (2002)

    CrossRef  Google Scholar 

  2. Sagiv, M., Immerman, N., Lev-Ami, T.: Abstraction for Shape Analysis with Fast and Precise Transformers. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 547–561. Springer, Heidelberg (2006)

    Google Scholar 

  3. Ramalingam, G., et al.: Predicate Abstraction and Canonical Abstraction for Singly-Linked Lists. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 181–198. Springer, Heidelberg (2005)

    Google Scholar 

  4. Yang, H., O’Hearn, P.W., Distefano, D.: A Local Shape Analysis Based on Separation Logic. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006 and ETAPS 2006. LNCS, vol. 3920, pp. 287–302. Springer, Heidelberg (2006)

    CrossRef  Google Scholar 

  5. Sagiv, M., Rinetzky, N., Yahav, E.: Interprocedural Shape Analysis for Cutpoint-Free Programs. In: Hankin, C., Siveroni, I. (eds.) SAS 2005. LNCS, vol. 3672, pp. 284–302. Springer, Heidelberg (2005)

    Google Scholar 

  6. Cook, B., Berdine, J., Gotsman, A.: Interprocedural Shape Analysis with Separated Heap Abstractions. In: Yi, K. (ed.) SAS 2006. LNCS, vol. 4134, pp. 240–260. Springer, Heidelberg (2006)

    Google Scholar 

  7. Rinetzky, N., et al.: Componentized heap abstractions. Tech. Rep. 164, Tel Aviv University (2006)

    Google Scholar 

  8. Strom, R.E., Yemini, S.: Typestate: A programming language concept for enhancing software reliability. IEEE Trans. Software Eng. 12(1), 157–171 (1986)

    Google Scholar 

  9. Rinetzky, N., et al.: Modular shape analysis for dynamically encapsulated programs. Tech. Rep. 107, Tel Aviv University (2006)

    Google Scholar 

  10. Reynolds, J.: Separation logic: a logic for shared mutable data structures. In: LICS (2002)

    Google Scholar 

  11. Rinetzky, N., et al.: A semantics for procedure local heaps and its abstractions. In: POPL (2005)

    Google Scholar 

  12. Plotkin, G.D.: A Structural Approach to Operational Semantics. Technical Report DAIMI FN-19, University of Aarhus (1981)

    Google Scholar 

  13. Knoop, J., Steffen, B.: The interprocedural coincidence theorem. In: Pfahler, P., Kastens, U. (eds.) CC 1992. LNCS, vol. 641, Springer, Heidelberg (1992)

    Google Scholar 

  14. Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction of approximation of fixed points. In: POPL (1977)

    Google Scholar 

  15. Logozzo, F.: Class-level modular analysis for object oriented languages. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, Springer, Heidelberg (2003)

    CrossRef  Google Scholar 

  16. Logozzo, F.: Automatic Inference of Class Invariants. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 211–222. Springer, Heidelberg (2004)

    Google Scholar 

  17. Aggarwal, A., Randall, K.: Related field analysis. In: PLDI (2001)

    Google Scholar 

  18. Lam, P., Kuncak, V., Rinard, M.: Hob: A Tool for Verifying Data Structure Consistency. In: Bodik, R. (ed.) CC 2005. LNCS, vol. 3443, pp. 237–241. Springer, Heidelberg (2005)

    Google Scholar 

  19. Podelski, A., et al.: Field Constraint Analysis. In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 157–173. Springer, Heidelberg (2005)

    Google Scholar 

  20. Sagiv, M., et al.: A Relational Approach to Interprocedural Shape Analysis. In: Giacobazzi, R. (ed.) SAS 2004. LNCS, vol. 3148, pp. 246–264. Springer, Heidelberg (2004)

    Google Scholar 

  21. Chong, S., Rugina, R.: Static analysis of accessed regions in recursive data structures. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, Springer, Heidelberg (2003)

    CrossRef  Google Scholar 

  22. Hackett, B., Rugina, R.: Region-based shape analysis with tracked locations. In: POPL (2005)

    Google Scholar 

  23. Noble, J., et al.: Towards a model of encapsulation. In: IWACO (2003)

    Google Scholar 

  24. Zhao, T., Noble, J., Vitek, J.: Scoped types for real-time java. In: RTSS (2004)

    Google Scholar 

  25. Clarke, D., Wrigstad, T.: External uniqueness is unique enough. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, Springer, Heidelberg (2003)

    Google Scholar 

  26. Boyland, J.: Alias burying: unique variables without destructive reads. Softw. Pract. Exper. 31(6), 533–553 (2001)

    CrossRef  MATH  Google Scholar 

  27. Barnett, M., et al.: Verification of object-oriented programs with invariants. Journal of Object Technology 3(6), 27–56 (2004)

    Google Scholar 

  28. Leino, K.R.M., Müller, P.: A Verification Methodology for Model Fields. In: Sestoft, P. (ed.) ESOP 2006 and ETAPS 2006. LNCS, vol. 3924, pp. 115–130. Springer, Heidelberg (2006)

    CrossRef  Google Scholar 

  29. O’Hearn, P., Yang, H., Reynolds, J.: Separation and information hiding. In: POPL (2004)

    Google Scholar 

  30. Bierman, G., Parkinson, M.: Separation logic and abstractions. In: POPL (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

  1. Tel Aviv University,  

    N. Rinetzky & M. Sagiv

  2. University of Kaiserlautern,  

    A. Poetzsch-Heffter

  3. Microsoft Research, India

    G. Ramalingam

  4. IBM T.J. Watson Research Center,  

    E. Yahav

Authors
  1. N. Rinetzky
    View author publications

    You can also search for this author in PubMed Google Scholar

  2. A. Poetzsch-Heffter
    View author publications

    You can also search for this author in PubMed Google Scholar

  3. G. Ramalingam
    View author publications

    You can also search for this author in PubMed Google Scholar

  4. M. Sagiv
    View author publications

    You can also search for this author in PubMed Google Scholar

  5. E. Yahav
    View author publications

    You can also search for this author in PubMed Google Scholar

Editor information

Rocco De Nicola

Rights and permissions

Reprints and Permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this paper

Cite this paper

Rinetzky, N., Poetzsch-Heffter, A., Ramalingam, G., Sagiv, M., Yahav, E. (2007). Modular Shape Analysis for Dynamically Encapsulated Programs. In: De Nicola, R. (eds) Programming Languages and Systems. ESOP 2007. Lecture Notes in Computer Science, vol 4421. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71316-6_16

Download citation

  • .RIS
  • .ENW
  • .BIB
  • DOI: https://doi.org/10.1007/978-3-540-71316-6_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-71314-2

  • Online ISBN: 978-3-540-71316-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Share this paper

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

Publish with us

Policies and ethics

search

Navigation

  • Find a journal
  • Publish with us
  • Track your research

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Publish your research
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our imprints

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support
  • Cancel contracts here

167.114.118.210

Not affiliated

Springer Nature

© 2023 Springer Nature