[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/777388.777395acmconferencesArticle/Chapter ViewAbstractPublication PagespepmConference Proceedingsconference-collections
Article

Storeless semantics and alias logic

Published: 07 June 2003 Publication History

Abstract

Pioneering work has been done by Jonkers [18] to define a semantics of pointer manipulating programs that is abstract in the sense of ignoring low-level aspects such as dangling pointers and garbage objects. We explore the principles of such storeless semantics from a logical point of view, first defining a simple logic to completely characterize heap structures up to isomorphism. Second, we extend this language to a full-blown alias logic (AL) that allows to express regular properties of unbounded heap structures. Along the development, we present an operational storeless semantics and give sound and complete total correctness axioms for deterministic programs in the form of Hoare triples, using AL.

References

[1]
M. Benedikt, T. Reps and M. Sagiv: A Decidable Logic for Describing Linked Data Structures. In Proc. European Symposium On Programming (1999).]]
[2]
Marius Bozga, Radu Iosif and Yassine Lakhnech: Storeless Semantics and Alias Logic. Technical report, http://www-verimag.imag.fr/˜bozga/ssal.ps]]
[3]
C. Calcagno and P.W. O'Hearn: On Garbage and Program Logic. Foundations of Software Science and Computation Structures, Lecture Notes in Computer Science, Volume 2030 (2001) pp 137--151]]
[4]
C. Calcagno, H. Yang and P.W. O'Hearn: Computability and Complexity Results for a Spatial Assertion Language for Data Structures. In FST TCS 2001: Foundations of Software Technology and Theoretical Computer Science, Lecture Notes in Computer Science, Volume 2245 (2001), pp 108--119]]
[5]
Frank S. de Boer. Reasoning about dynamically evolving process structures. Ph.D. Thesis, Vrije Universiteit te Amsterdam (University of Amsterdam), 1991.]]
[6]
Edmund M. Clarke, Somesh Jha, Reinhard Enders and Thomas Filkorn: Exploiting Symmetry In Temporal Logic Model Checking. Formal Methods in System Design, Vol.9, No. 1/2 (1996) 77--104]]
[7]
Alain Deutsch. A storeless model of aliasing and its abstractions using finite representations of right-regular equivalence relations. In Proceedings of the IEEE 1992 Conference on Computer Languages (April 1992) pp. 2--13]]
[8]
Alain Deutsch. Interprocedural May-Alias Analysis for Pointers: Beyond k-limiting. In Proceedings of the ACM SIGPLAN'94 Conference on Programming Language Design and Implementation (PLDI), Orlando, Florida, June 20-24, 1994. SIGPLAN Notices 29(6) (June 1994) pp. 230--241]]
[9]
Edsger W. Dijkstra and Carel S. Scholten. Predicate Calculus and Program Semantics. Springer-Verlag, New York 1990.]]
[10]
Samuel Eilenberg. Automata, Languages, and Machines. Academic Press (1976)]]
[11]
E. Emerson and A. P. Sistla: Symmetry and Model Checking. Formal Methods in System Design, Vol.9, No. 1/2 (1996) 105--131]]
[12]
Radu Iosif: Symmetry Reductions for Model Checking of Concurrent Dynamic Software. Submitted, http://www-verimag.imag.friosif/papers.html]]
[13]
R. Ghiya and L. Hendren: Is it a Tree, a DAG or a Cyclic Graph? A Shape Analysis for Heap-Directed Pointers in C. In Proc. 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, (1996).]]
[14]
L. Hendren, J. Hummel and A. Nicolau: Abstractions for Recursive Pointer Data Structures: Improving the Analysis and Transformation of Imperative Programs. In Proc. ACM SIGPLAN Conference on Programming Languages Design and Implementation, (1992).]]
[15]
M. Hennessy and R. Milner: Algebraic Laws for Nondeterminism and Concurrency. Journal of the ACM Vol. 32 (1985) pp. 137--161]]
[16]
C.A.R Hoare and He Jifeng: A Trace Model for Pointers and Objects. In Proc. ECOOP'99, Lecture Notes in Computer Science, Vol. 1628, pp. 1--18 (1999)]]
[17]
Samin Ishtiaq and Peter O'Hearn: BI as an Assertion Language for Mutable Data Structures. Proc. of 28th ACM-SIGPLAN Symposium on Principles of Programming Languages (2001)]]
[18]
H. B. M. Jonkers. Abstract Storage Structures. Algorithmic Languages, North-Holland (1981)]]
[19]
N. Klarlund and M. I. Schwartzbach: In Proc. 20th Annual Symposium on Principles of Programming Languages (1993) pp. 196--205]]
[20]
N. Klarlund and M. I. Schwartzbach: Graphs and Decidable Transductions Based on Edge Constraints, In Proc. 19th Colloquium on Trees and Algebra in Programming, Lecture Notes in Computer Science, Volume 787 (1994) pp. 187--201]]
[21]
John C. Reynolds. Separation Logic: A Logic for Shared Mutable Data Structures. Proc 17th IEEE Symposium on Logic in Computer Science (2002)]]
[22]
P.W. O'Hearn and D.J. Pym: The Logic of Bunched Implications. Bulletin of Symbolic Logic, 5(2) (1999) pp. 215--244]]
[23]
P.W. O'Hearn, J.C. Reynolds and H. Yang: Local reasoning about programs that alter data structures. Computer Science Logic, Lecture Notes in Computer Science, Volume 2142 (2001) pp 1--19]]
[24]
A. Moeller and M. I. Schwartzbach: The Pointer Assertion Logic Engine. In Proc. ACM SIGPLAN Conference on Programming Languages Design and Implementation, (2001).]]
[25]
M. Sagiv, M., T. Reps and R. Wilhelm. Parametric Shape Analysis via 3-Valued Logic. Conference Record of the Twenty-Third ACM Symposium on Principles of Programming Languages, (San Antonio, TX, Jan. 20-22, 1999), ACM, New York, NY, 1999.]]

Cited By

View all
  • (2019)A semantics for procedure local heaps and its abstractionsACM SIGPLAN Notices10.1145/1047659.104033040:1(296-309)Online publication date: 27-Feb-2019
  • (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
  • (2017)Purity analysis for JavaScript through abstract interpretationJournal of Software: Evolution and Process10.1002/smr.188929:12(e1889)Online publication date: 25-Aug-2017
  • Show More Cited By

Index Terms

  1. Storeless semantics and alias logic

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      PEPM '03: Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
      June 2003
      100 pages
      ISBN:1581136676
      DOI:10.1145/777388
      • cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 38, Issue 10
        Proceedings of the ACM SIGPLAN symposium on principles and practice of parallel programming (PPoPP 2003) and workshop on partial evaluation and semantics-based program manipulation (PEPM 2003)
        October 2003
        331 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/966049
        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: 07 June 2003

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. heap models
      2. total correctness
      3. weakest precondition

      Qualifiers

      • Article

      Conference

      PEPM03
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 66 of 120 submissions, 55%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 01 Jan 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2019)A semantics for procedure local heaps and its abstractionsACM SIGPLAN Notices10.1145/1047659.104033040:1(296-309)Online publication date: 27-Feb-2019
      • (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
      • (2017)Purity analysis for JavaScript through abstract interpretationJournal of Software: Evolution and Process10.1002/smr.188929:12(e1889)Online publication date: 25-Aug-2017
      • (2013)Invariants synthesis over a combined domain for automated program verificationTheories of Programming and Formal Methods10.5555/2554641.2554660(304-325)Online publication date: 1-Jan-2013
      • (2013)Automated Specification Discovery via User-Defined PredicatesFormal Methods and Software Engineering10.1007/978-3-642-41202-8_26(397-414)Online publication date: 2013
      • (2013)Invariants Synthesis over a Combined Domain for Automated Program VerificationTheories of Programming and Formal Methods10.1007/978-3-642-39698-4_19(304-325)Online publication date: 2013
      • (2008)An Extension to Pointer Logic for VerificationProceedings of the 2008 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering10.1109/TASE.2008.13(49-56)Online publication date: 17-Jun-2008
      • (2008)Implementation of Pointer Logic for Automated VerificationProceedings of the 2008 The 9th International Conference for Young Computer Scientists10.1109/ICYCS.2008.168(2295-2301)Online publication date: 18-Nov-2008
      • (2008)Automated verification of pointer programs in pointer logicFrontiers of Computer Science in China10.1007/s11704-008-0033-82:4(380-397)Online publication date: 5-Nov-2008
      • (2007)Generalised multi-pattern-based verification of programs with linear linked structuresFormal Aspects of Computing10.1007/s00165-007-0031-x19:3(363-374)Online publication date: 30-Mar-2007
      • Show More Cited By

      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