ESC4: a modern caching ESC for Java

  • Authors:
  • Perry R. James;Patrice Chalin

  • Affiliations:
  • Concordia University, Montreal, PQ, Canada;Concordia University, Montreal, PQ, Canada

  • Venue:
  • Proceedings of the 8th international workshop on Specification and verification of component-based systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

JML4 is an Eclipse-based Integrated Verification Environment for the Java Modeling Language (JML) that supports several forms of verification, including Runtime Assertion Checking, Extended Static Checking (ESC), and Full Static Program Verification. The first of these developed was ESC4, JML4's ESC component. This paper presents its architecture. ESC4's verification-condition (VC) generation is based on the approach described by Barnett and Leino, but we provide an optimization for loops. A configurable Prover Coordinator allows the easy implementation of various proof strategies. Caching discharged VCs helps reduce the number of calls to the provers when reverifying code. Caches are not commonly used because of their fragility w.r.t. source code changes, but we propose a simple way to make them more resilient.