Skip to main content

On Logics of Aliasing

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3148))

Abstract

In this paper we investigate the existence of a deductive verification method based on a logic that describes pointer aliasing. The main idea of such a method is that the user has to annotate the program with loop invariants, pre- and post-conditions. The annotations are then automatically checked for validity by propagating weakest preconditions and verifying a number of induced implications. Such a method requires an underlying logic which is decidable and has a sound and complete weakest precondition calculus. We start by presenting a powerful logic (wAL) which can describe the shapes of most recursively defined data structures (lists, trees, etc.) has a complete weakest precondition calculus but is undecidable. Next, we identify a decidable subset (pAL) for which we show closure under the weakest precondition operators. In the latter logic one loses the ability of describing unbounded heap structures, yet bounded structures can be characterized up to isomorphism. For this logic two sound and complete proof systems are given, one based on natural deduction, and another based on the effective method of analytic tableaux. The two logics presented in this paper can be seen as extreme values in a framework which attempts to reconcile the naturally oposite goals of expressiveness and decidability.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Benedikt, M., Reps, T., Sagiv, M.: A decidable logic for describing linked data structures. In: Swierstra, S.D. (ed.) ESOP 1999. LNCS, vol. 1576, pp. 2–19. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  2. Bozga, M., Iosif, R., Lakhnech, Y.: Storeless Semantics and Alias Logic. In: Proc. ACM SIGPLAN 2003 Workshop on Partial Evaluation and Semantics Based Program Manipulation, pp. 55–65 (2003)

    Google Scholar 

  3. Bozga, M., Iosif, R., Lakhnech, Y.: On Logics of Aliasing. Technical Report TR-2004-4, VERIMAG, http://www-verimag.imag.fr/~iosif/TR-2004-4.ps

  4. Bozga, M., Iosif, R.: On Model Checking Generic Topologies. Technical Report TR- 2004-10, VERIMAG, http://www-verimag.imag.fr/~iosif/TR-2004-10.ps

  5. Calcagno, C., Yang, H., O’Hearn, P.W.: Computability and Complexity Results for a Spatial Assertion Language for Data Structures. In: Hariharan, R., Mukund, M., Vinay, V. (eds.) FSTTCS 2001. LNCS, vol. 2245, pp. 108–119. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  6. Calcagno, C., Cardelli, L., Gordon, A.: Deciding Validity in a Spatial Logic of Trees. In: ACM Workshop on Types in Language Design and Implementation, pp. 62–73 (2003)

    Google Scholar 

  7. Courcelle, B.: Handbook of graph grammars and computing by graph transformations. In: The expression of graph properties and graph transformations in monadic second-order logic: Foundations, vol. 1, ch. 5, pp. 313–400 (1997)

    Google Scholar 

  8. Deutsch, A.: 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, pp. 2–13 (1992)

    Google Scholar 

  9. Ebbinghaus, H.D., Flum, J.: Finite Model Theory. Springer, Heidelberg (1999)

    MATH  Google Scholar 

  10. Floyd, R.W.: Assigning meaning to programs. In: Proc. Symposium on Applied Mathematics. American Mathematical Society, vol. 1, pp. 19–32 (1967)

    Google Scholar 

  11. Galmiche, D., Mery, D.: Semantic Labelled Tableaux for propositional BI (without bottom). Journal of Logic and Computation 13(5) (2003)

    Google Scholar 

  12. Hoare, C.A.R., Jifeng, H.: A Trace Model for Pointers and Objects. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol. 1628, pp. 1–18. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  13. Ishtiaq, S., O’Hearn, P.: BI as an Assertion Language for Mutable Data Structures. In: Proc. of 28th ACM-SIGPLAN Symposium on Principles of Programming Languages (2001)

    Google Scholar 

  14. Jonkers, H.B.M.: Abstract Storage Structures. Algorithmic Languages, pp. 321–343. North-Holland, Amsterdam (1981)

    MATH  Google Scholar 

  15. Klarlund, N., Schwartzbach, M.I.: Graphs and Decidable Transductions Based on Edge Constraints. In: Tison, S. (ed.) CAAP 1994. LNCS, vol. 787, pp. 187–201. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  16. Klarlund, N., Schwartzbach, M.I.: Graph Types. In: Proc. 20th Annual Symposium on Principles of Programming Languages, pp. 196–205 (1993)

    Google Scholar 

  17. Moeller, A., Schwartzbach, M.I.: The Pointer Assertion Logic Engine. In: Proc. ACM SIGPLAN Conference on Programming Languages Design and Implementation (2001)

    Google Scholar 

  18. O’Hearn, P.W., Pym, D.J.: The Logic of Bunched Implications. Bulletin of Symbolic Logic 5(2), 215–244 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  19. O’Hearn, P.W., Reynolds, J.C., Yang, H.: Local reasoning about programs that alter data structures. In: Fribourg, L. (ed.) CSL 2001 and EACSL 2001. LNCS, vol. 2142, pp. 1–19. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  20. Rabin, M.O.: Decidability of second order theories and automata on infinite trees. Trans. Amer. Math. Soc. 141 (1969)

    Google Scholar 

  21. Ramalingam, G.: The Undecidability of Aliasing. ACM Transactions on Programming Languages and Systems 16(5), 1467–1471 (1994)

    Article  Google Scholar 

  22. Reynolds, J.C.: Separation Logic: A Logic for Shared Mutable Data Structures. In: Proc 17th IEEE Symposium on Logic in Computer Science (2002)

    Google Scholar 

  23. Sagiv, M., Reps, M.T., Wilhelm, R.: Parametric Shape Analysis via 3-Valued Logic. ACM Transactions on Programming Languages and Systems 24(3), 217–298 (2002)

    Article  Google Scholar 

  24. Smullyan, R.M.: First-Order Logic. Dover Publications, New York (1993)

    Google Scholar 

  25. van Dalen, D.: Logic and Structure. Springer, Heidelberg (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bozga, M., Iosif, R., Lakhnech, Y. (2004). On Logics of Aliasing. In: Giacobazzi, R. (eds) Static Analysis. SAS 2004. Lecture Notes in Computer Science, vol 3148. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27864-1_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-27864-1_25

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22791-5

  • Online ISBN: 978-3-540-27864-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics