skip to main content
10.1145/1040305.1040330acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article

A semantics for procedure local heaps and its abstractions

Published: 12 January 2005 Publication History

Abstract

The goal of this work is to develop compile-time algorithms for automatically verifying properties of imperative programs that manipulate dynamically allocated storage. The paper presents an analysis method that uses a characterization of a procedure's behavior in which parts of the heap not relevant to the procedure are ignored. The paper has two main parts: The first part introduces a non-standard concrete semantics, LSL, in which called procedures are only passed parts of the heap. In this semantics, objects are treated specially when they separate the "local heap" that can be mutated by a procedure from the rest of the heap, which---from the viewpoint of that procedure---is non-accessible and immutable. The second part concerns abstract interpretation of LSL and develops a new static-analysis algorithm using canonical abstraction.

References

[1]
M. Bozga, R. Iosif, and Y. Laknech. Storeless semantics and alias logic. In Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation, pages 55--65. ACM Press, 2003.]]
[2]
S. Chong and R. Rugina. Static analysis of accessed regions in recursive data structures. In SAS, 2003.]]
[3]
E. F. Codd. A relational model of data for large shared data banks. Communications of the ACM, 13(6):377--387, 1970.]]
[4]
P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Symp. on Princ. of Prog. Lang., pages 269--282, New York, NY, 1979. ACM Press.]]
[5]
A. Deutsch. Operational Models of Programming Languages and Representations of Relations on Regular Languages with Application to the Static Determination of Dynamic Aliasing Properties of Data. PhD thesis, LIX, Ecole Polytechnique, F-91128, Palaiseau, France, 1992.]]
[6]
A. Deutsch. A storeless model for aliasing and its abstractions using finite representations of right-regular equivalence relations. In IEEE International Conference on Computer Languages, pages 2--13, Washington, DC, 1992. IEEE Press.]]
[7]
A. Deutsch. Interprocedural may-alias analysis for pointers: Beyond k-limiting. In SIGPLAN Conf. on Prog. Lang. Design and Impl., pages 230--241, New York, NY, 1994. ACM Press.]]
[8]
S. S. Ishtiaq and P. W. O'Hearn. BI as an assertion language for mutable data structures. In Symposium on Principles of Programming Languages, pages 14--26, 2001.]]
[9]
B. Jeannet, A. Loginov, T. Reps, and M. Sagiv. A relational approach to interprocedural shape analysis. In Static Analysis Symposium, 2004.]]
[10]
H.B.M. Jonkers. Abstract storage structures. In de~Bakker and van Vllet, editors, Algorithmic Languages, pages 321--343. IFIP, North Holland, 1981.]]
[11]
G. Kahn. Natural semantics. In 4th Annual Symposium on Theoretical Aspects of Computer Sciences on STACS 87, pages 22--39. Springer-Verlag, 1987.]]
[12]
W. Landi and B. G. Ryder. A safe approximate algorithm for interprocedural aliasing. In Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation, pages 235--248. ACM Press, 1992.]]
[13]
T. Lev-Ami, T. Reps, M. Sagiv, and R. Wilhelm. Putting static analysis to work for verification: A case study. In Proc. of the Int. Symp. on Software Testing and Analysis, pages 26--38, 2000.]]
[14]
F. Nielson, H. R. Nielson, and C. Hankin. Principles of Program Analysis. Springer, 1999.]]
[15]
J. Reynolds. Separation logic: a logic for shared mutable data structures. In Logic in Computer Science, pages 55--74, 2002.]]
[16]
N. Rinetzky. Interprocedural shape analysis. Master's thesis, Technion Israel Institute of Technology, Haifa, Israel, 2001.]]
[17]
N. Rinetzky, J. Bauer, T. Reps, M. Sagiv, and R. Wilhelm. A semantics for procedure local heaps and its abstractions. Tech. Rep. 1, AVACS, September 2004. Available at "http://www.math.tau.ac.il/~maon".]]
[18]
N. Rinetzky and M. Sagiv. Interprocedural shape analysis for recursive programs. In Int. Conf. on Comp. Construct., pages 133--149, 2001.]]
[19]
M. Sagiv, T. Reps, and R. Wilhelm. Parametric shape analysis via 3-valued logic. ACM Transactions on Programming Languages and Systems, 24(3):217--298, 2002.]]
[20]
A. Venet. Automatic analysis of pointer aliasing for untyped programs. Science of Computer Programming, 35(2):223--248, 1999.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '05: Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
January 2005
402 pages
ISBN:158113830X
DOI:10.1145/1040305
  • General Chair:
  • Jens Palsberg,
  • Program Chair:
  • Martín Abadi
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 40, Issue 1
    Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
    January 2005
    391 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/1047659
    Issue’s Table of Contents
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 January 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. 3-valued logic
  2. abstract interpretation
  3. shape analysis
  4. static analysis

Qualifiers

  • Article

Conference

POPL05

Acceptance Rates

Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)11
  • Downloads (Last 6 weeks)0
Reflects downloads up to 24 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media