skip to main content
10.1145/1985793.1985956acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Dynamic shape analysis of program heap using graph spectra (NIER track)

Published:21 May 2011Publication History

ABSTRACT

Programs written in languages such as Java and C# maintain most of their state on the heap. The size and complexity of these programs pose a challenge in understanding and maintaining them; Heap analysis by summarizing the state of heap graphs assists programmers in these tasks. In this paper we present a novel dynamic heap analysis technique that uses spectra of the heap graphs to summarize them. These summaries capture the shape of recursive data structures as dynamic invariants or likely properties of these structures that must be preserved after any destructive update. Initial experiments show that this approach can generate meaningful summaries for a range of subject structures.

References

  1. I. Balaban, A. Pnueli, and L. D. Zuck. Shape analysis by predicate abstraction. In VMCAI, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. C. Boyapati, S. Khurshid, and D. Marinov. Korat: automated testing based on Java predicates. In ISSTA, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. M. Cvetkovic, M. Doob, and H. Sachs. Spectra of Graphs: Theory and Applications. John Wiley & Sons Inc, 1998.Google ScholarGoogle Scholar
  4. M. D. Ernst. Dynamically discovering likely program invariants. PhD thesis, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. Flanagan, K. R. M. Leino, M. Lillibridge, G. Nelson, J. B. Saxe, and R. Stata. Extended static checking for java. In PLDI, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. R. Ghiya and L. J. Hendren. Is it a tree, a dag, or a cyclic graph? a shape analysis for heap-directed pointers in C. In POPL, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Z. Malik, A. Pervaiz, E. Uzuncaova, and S. Khurshid. Deryaft: a tool for generating representation invariants of structurally complex data. In ICSE, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Møller and M. I. Schwartzbach. The pointer assertion logic engine. In PLDI, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. D. Rutter. A serial implementation of cuppen's divide and conquer algorithm. Technical report, Berkeley, CA, USA, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. S. Sagiv, T. W. Reps, and R. Wilhelm. Solving shape-analysis problems in languages with destructive updating. TOPLAS, 20(1), 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. Zhu and R. C. Wilson. A study of graph spectra for comparing graphs. In BMVC, 2005.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Dynamic shape analysis of program heap using graph spectra (NIER track)

            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
            • Published in

              cover image ACM Conferences
              ICSE '11: Proceedings of the 33rd International Conference on Software Engineering
              May 2011
              1258 pages
              ISBN:9781450304450
              DOI:10.1145/1985793

              Copyright © 2011 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 21 May 2011

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              Overall Acceptance Rate276of1,856submissions,15%

              Upcoming Conference

              ICSE 2025

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader