Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/11823230_16guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Interprocedural shape analysis with separated heap abstractions

Published: 29 August 2006 Publication History

Abstract

We describe an interprocedural shape analysis that makes use of spatial locality (i.e. the fact that most procedures modify only a small subset of the heap) in its representation of abstract states. Instead of tracking reachability information directly and aliasing information indirectly, our representation tracks reachability indirectly and aliasing directly. Computing the effect of procedure calls and returns on an abstract state is easy because the representation exhibits spatial locality mirroring the locality that is present in the concrete semantics. The benefits of this approach include improved speed, support for programs that deallocate memory, the handling of bounded numbers of heap cutpoints, and support for cyclic and shared data structures.

References

[1]
T. Amtoft and A. Banerjee. Information flow analysis in logical form. In SAS, volume 3148 of LNCS, pages 100-115, 2004.
[2]
J. Berdine, C. Calcagno, and P. O'Hearn. Symbolic execution with separation logic. In APLAS, volume 3780 of LNCS, pages 52-68, 2005.
[3]
J. Berdine, C. Calcagno, and P. W. O'Hearn. A decidable fragment of separation logic. In FSTTCS, volume 3328 of LNCS, 2004.
[4]
J. Berdine, B. Cook, D. Distefano, and P. W. O'Hearn. Automatic termination proofs for programs with shape-shifting heaps. In CAV, 2006.
[5]
S. A. Cook. Soundness and completeness of an axiomatic system for program verification. SIAM J. on Computing, 7:70-90, 1978.
[6]
D. Distefano, P. W. O'Hearn, and H. Yang. A local shape analysis based on separation logic. In TACAS, volume 3920 of LNCS, pages 287-302, 2006.
[7]
B. Hackett and R. Rugina. Region-based shape analysis with tracked locations. In POPL, pages 310-323, 2005.
[8]
C. A. R. Hoare. Procedures and parameters: An axiomatic approach. In Symposium on the Semantics of Algorithmic Languages, pages 102-116, 1971.
[9]
O. Lee, H. Yang, and K. Yi. Automatic verification of pointer programs using grammar-based shape analysis. In ESOP, volume 3444 of LNCS, pages 124-140, 2005.
[10]
P. O'Hearn, J. Reynolds, and H. Yang. Local reasoning about programs that alter data structures. In CSL, volume 2142 of LNCS, pages 1-19, 2001.
[11]
T. Reps, S. Horwitz, and M. Sagiv. Precise interprocedural dataflow analysis via graph reachability. In POPL, pages 49-61, 1995.
[12]
J. Reynolds. Separation logic: A logic for shared mutable data structures. In LICS, pages 55-74, 2002.
[13]
N. Rinetzky, J. Bauer, T. Reps, M. Sagiv, and R. Wilhelm. A semantics for procedure local heaps and its abstractions. In POPL, pages 296-309, 2005.
[14]
N. Rinetzky, M. Sagiv, and E. Yahav. Interprocedural functional shape analysis using local heaps. Tech. Rep. 26, Tel Aviv Univ., Nov. 2004.
[15]
N. Rinetzky, M. Sagiv, and E. Yahav. Interprocedural shape analysis for cutpointfree programs. In SAS, volume 3672 of LNCS, pages 284-302, 2005.
[16]
M. Sagiv, T. Reps, and R. Wilhelm. Parametric shape analysis via 3-valued logic. ACM TOPLAS, 24(3):217-298, 2002.

Cited By

View all
  • (2024)Boosting the Performance of Alias-Aware IFDS Analysis with CFL-Based Environment TransformersProceedings of the ACM on Programming Languages10.1145/36898048:OOPSLA2(2633-2661)Online publication date: 8-Oct-2024
  • (2023)DStream: A Streaming-Based Highly Parallel IFDS FrameworkProceedings of the 45th International Conference on Software Engineering10.1109/ICSE48619.2023.00208(2488-2500)Online publication date: 14-May-2023
  • (2021)Scaling up the IFDS algorithm with efficient disk-assisted computingProceedings of the 2021 IEEE/ACM International Symposium on Code Generation and Optimization10.1109/CGO51591.2021.9370311(236-247)Online publication date: 27-Feb-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
SAS'06: Proceedings of the 13th international conference on Static Analysis
August 2006
442 pages
ISBN:3540377565

Sponsors

  • KISS Special Interest Group on Programming Languages: KISS Special Interest Group on Programming Languages
  • Seoul National University
  • Korea Info Sci Society: Korea Information Science Society

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 29 August 2006

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Boosting the Performance of Alias-Aware IFDS Analysis with CFL-Based Environment TransformersProceedings of the ACM on Programming Languages10.1145/36898048:OOPSLA2(2633-2661)Online publication date: 8-Oct-2024
  • (2023)DStream: A Streaming-Based Highly Parallel IFDS FrameworkProceedings of the 45th International Conference on Software Engineering10.1109/ICSE48619.2023.00208(2488-2500)Online publication date: 14-May-2023
  • (2021)Scaling up the IFDS algorithm with efficient disk-assisted computingProceedings of the 2021 IEEE/ACM International Symposium on Code Generation and Optimization10.1109/CGO51591.2021.9370311(236-247)Online publication date: 27-Feb-2021
  • (2018)TwASProceedings of the 33rd Annual ACM Symposium on Applied Computing10.1145/3167132.3167330(1857-1864)Online publication date: 9-Apr-2018
  • (2017)"What's in a name?" going beyond allocation site names in heap analysisACM SIGPLAN Notices10.1145/3156685.309226752:9(92-103)Online publication date: 18-Jun-2017
  • (2017)IDE: efficient and precise alias-aware dataflow analysisProceedings of the ACM on Programming Languages10.1145/31339231:OOPSLA(1-27)Online publication date: 12-Oct-2017
  • (2017)"What's in a name?" going beyond allocation site names in heap analysisProceedings of the 2017 ACM SIGPLAN International Symposium on Memory Management10.1145/3092255.3092267(92-103)Online publication date: 18-Jun-2017
  • (2017)Automated specification inference in a combined domain via user-defined predicatesScience of Computer Programming10.1016/j.scico.2017.05.007148:C(189-212)Online publication date: 15-Nov-2017
  • (2016)Heap Abstractions for Static AnalysisACM Computing Surveys10.1145/293109849:2(1-47)Online publication date: 30-Jun-2016
  • (2014)Modular reasoning about heap paths via effectively propositional formulasACM SIGPLAN Notices10.1145/2578855.253585449:1(385-396)Online publication date: 8-Jan-2014
  • Show More Cited By

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media