Reasoning about java programs with aliasing and frame conditions

  • Authors:
  • Claude Marché;Christine Paulin-Mohring

  • Affiliations:
  • PCRI: LRI (Université Paris-Sud & CNRS UMR 8623), INRIA Futurs, Bât. 490, Université Paris-Sud, Orsay Cedex, France;PCRI: LRI (Université Paris-Sud & CNRS UMR 8623), INRIA Futurs, Bât. 490, Université Paris-Sud, Orsay Cedex, France

  • Venue:
  • TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Several tools exist for reasoning about Java programs annotated with JML specifications. A main issue is to deal with possible aliasing between objects and to handle correctly the frame conditions limiting the part of memory that a method is allowed to modify. Tools designed for automatic use (like ESC/Java) are not complete and even not necessarily correct. On the other side, tools which offer a full modeling of the program require a heavy user interaction for discharging proof obligations. In this paper, we present the modeling of Java programs used in the Krakatoa tool, which generates proof obligations expressed in a logic language suitable for both automatic and interactive reasoning. Using the Simplify automatic theorem prover, we are able to establish automatically more properties than static analysis tools, with a method which is guaranteed to be sound, assuming only the correctness of our logical interpretation of programs and specifications.