Skip to main content

Inter-program Properties

  • Conference paper
Static Analysis (SAS 2009)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5673))

Included in the following conference series:

Abstract

We develop foundations for proving properties relating two programs. Our formalization is based on a suitably adapted notion of program invariant for a single program. First, we give an abstract formulation of the theory of program invariants based on the notion of assertion function: a function that assigns assertions to program points. Then, we develop this abstract notion further so that it can be used to prove properties between two programs. We describe an application of the theory to proving program properties in translation validation.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Barthe, G., Grégoire, B., Kunz, C., Rezk, T.: Certificate translation for optimizing compilers. In: Yi, K. (ed.) SAS 2006. LNCS, vol. 4134, pp. 301–317. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  2. Benton, N.: Simple relational correctness proofs for static analyses and program transformations. In: POPL, pp. 14–25 (2004)

    Google Scholar 

  3. Floyd, R.W.: Assigning meaning to programs. In: Schwartz, J.T. (ed.) Proceedings of Symposium in Applied Mathematics, pp. 19–32 (1967)

    Google Scholar 

  4. Hoare, C.A.R.: An axiomatic basis for computer programming. CACM 12(10), 576–580 (1969)

    Article  MATH  Google Scholar 

  5. Lacey, D., Jones, N.D., Van Wyk, E., Frederiksen, C.C.: Proving correctness of compiler optimizations by temporal logic. In: POPL (2002)

    Google Scholar 

  6. Leockx, J., Sieber, K., Stansifer, R.D.: The Foundations of Program Verification, 2nd edn. John Wiley & Sons, Inc., New York (1987)

    Book  Google Scholar 

  7. Lerner, S., Millstein, T., Chambers, C.: Automatically proving the correctness of compiler optimizations. In: PLDI, pp. 220–231 (2003)

    Google Scholar 

  8. Lerner, S., Millstein, T., Rice, E., Chambers, C.: Automated soundness proofs for dataflow analyses and transformations via local rules. In: POPL (2005)

    Google Scholar 

  9. Leroy, X.: Formal certification of a compiler back-end or: programming a compiler with a proof assistant. SIGPLAN Not. 41(1), 42–54 (2006)

    Article  Google Scholar 

  10. Manna, Z., Waldinger, R.: Is “sometime” sometimes better than “always”?: Intermittent assertions in proving program correctness. CACM 21(2), 159–172 (1978)

    Article  MathSciNet  MATH  Google Scholar 

  11. Narasamdya, I., Voronkov, A.: Finding basic block and variable correspondence. In: Hankin, C., Siveroni, I. (eds.) SAS 2005. LNCS, vol. 3672, pp. 251–267. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  12. Narasamdya, I.: Establishing Program Equivalence in Translation Validation for Optimizing Compilers. PhD thesis, The University of Manchester (2007), http://www-verimag.imag.fr/~narasamd/NarasamdyaThesis.ps

  13. Narasamdya, I., Périn, M.: Certification of smart-card applications in common criteria. Technical Report TR-2008-14, Verimag (September 2008)

    Google Scholar 

  14. Necula, G.C.: Translation validation for an optimizing compiler. In: Proceedings of the ACM SIGPLAN Conference on Principles of Programming Languages Design and Implementation (PLDI), June 2000, pp. 83–95 (2000)

    Google Scholar 

  15. Pnueli, A., Siegel, M., Singerman, E.: Translation validation. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, p. 151. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  16. Pnueli, A., Zaks, A.: Translation validation of interprocedural optimizations. In: Proceedings of 4th International Workshop on Software Verification and Validation (2006)

    Google Scholar 

  17. Pottier, F., Simonet, V.: Information flow inference for ml. SIGPLAN Not. 37(1), 319–330 (2002)

    Article  MATH  Google Scholar 

  18. Rinard, M., Marinov, D.: Credible compilation with pointers. In: Proceedings of the FLoC Workshop on Run-Time Result Verification, Trento, Italy (July 1999)

    Google Scholar 

  19. Rival, X.: Symbolic transfer function-based approaches to certified compilation. In: Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 1–13. ACM Press, New York (2004)

    Chapter  Google Scholar 

  20. Voronkov, A., Narasamdya, I.: Proving inter-program properties. Technical Report TR-2008-13, Verimag (2008)

    Google Scholar 

  21. Yang, H.: Relational separation logic. Theor. Comput. Sci. 375(1-3), 308–334 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  22. Zaks, A., Pnueli, A.: Covac: Compiler validation by program analysis of the cross-product. In: Cuellar, J., Maibaum, T., Sere, K. (eds.) FM 2008. LNCS, vol. 5014, pp. 35–51. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  23. Zuck, L.D., Pnueli, A., Goldberg, B.: VOC: A methodology for the translation validation of optimizing compilers. J. UCS 9(3), 223–247 (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Voronkov, A., Narasamdya, I. (2009). Inter-program Properties. In: Palsberg, J., Su, Z. (eds) Static Analysis. SAS 2009. Lecture Notes in Computer Science, vol 5673. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03237-0_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-03237-0_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-03236-3

  • Online ISBN: 978-3-642-03237-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics