skip to main content
research-article

Precise and compact modular procedure summaries for heap manipulating programs

Published:04 June 2011Publication History
Skip Abstract Section

Abstract

We present a strictly bottom-up, summary-based, and precise heap analysis targeted for program verification that performs strong updates to heap locations at call sites. We first present a theory of heap decompositions that forms the basis of our approach; we then describe a full analysis algorithm that is fully symbolic and efficient. We demonstrate the precision and scalability of our approach for verification of real C and C++ programs.

References

  1. Aiken, A., Bugrara, S., Dillig, I., Dillig, T., Hackett, B., Hawkins, P.: An overview of the saturn project. In: PASTE, ACM (2007) 43--48 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bush, W., Pincus, J., Sielaff, D.: A static analyzer for finding dynamic programming errors. Software: Practice and Experience 30(7) (2000) 775--802 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Reps, T.W., Sagiv, S., Wilhelm, R.: Static program analysis via 3-valued logic. In: CAV. Volume 3114., Springer (2004) 15--30Google ScholarGoogle Scholar
  4. Dillig, I., Dillig, T., Aiken, A.: Fluid updates: Beyond strong vs. weak updates. In: ESOP. (2010) Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Landi, W., Ryder, B.G.: A safe approximate algorithm for interprocedural aliasing. SIGPLAN Not. 27(7) (1992) 235--248 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Wilson, R.P., Lam, M.S.: Efficient context-sensitive pointer analysis for c programs. In: PLDI. (1995) Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Chatterjee, R., Ryder, B., Landi, W.: Relevant context inference. In: POPL, ACM (1999) 133--146 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Dillig, I., Dillig, T., Aiken, A.: Sound, complete and scalable path-sensitive analysis. In: PLDI, ACM (2008) 270--280 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Whaley, J., Rinard, M.: Compositional pointer and escape analysis for Java programs. In: OOPSLA, ACM (1999) 187--206 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Salcinau, A.: Pointer Analysis for Java Programs: Novel Techniques and Applications. PhD thesis, MIT (2006) Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Calcagno, C., Distefano, D., O'Hearn, P., Yang, H.: Compositional shape analysis by means of bi-abduction. POPL (2009) 289--300 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Gulavani, B., Chakraborty, S., Ramalingam, G., Nori, A.: Bottom-up shape analysis. SAS (2009) 188--204 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Cousot, P., Cousot, R.: Modular static program analysis. In: CC. (2002) 159--178 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Gulwani, S., Tiwari, A.: Computing procedure summaries for interprocedural analysis. ESOP (2007) 253--267 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Pnueli, M.: Two approaches to interprocedural data flow analysis. Program Flow Analysis: Theory and Applications (1981) 189--234Google ScholarGoogle Scholar
  16. Yorsh, G., Yahav, E., Chandra, S.: Generating precise and concise procedure summaries. POPL 43(1) (2008) 221--234 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Reps, T.W., Horwitz, S., Sagiv, S.: Precise interprocedural dataflow analysis via graph reachability. In: POPL. (1995) 49--61 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Sagiv, S., Reps, T.W., Horwitz, S.: Precise interprocedural dataflow analysis with applications to constant propagation. Theor. Comput. Sci. 167(1&2) (1996) 131--170 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Precise and compact modular procedure summaries for heap manipulating programs

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM SIGPLAN Notices
              ACM SIGPLAN Notices  Volume 46, Issue 6
              PLDI '11
              June 2011
              652 pages
              ISSN:0362-1340
              EISSN:1558-1160
              DOI:10.1145/1993316
              Issue’s Table of Contents
              • cover image ACM Conferences
                PLDI '11: Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation
                June 2011
                668 pages
                ISBN:9781450306638
                DOI:10.1145/1993498
                • General Chair:
                • Mary Hall,
                • Program Chair:
                • David Padua

              Copyright © 2011 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 4 June 2011

              Check for updates

              Qualifiers

              • research-article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!