A refinement methodology for object-oriented programs

  • Authors:
  • Asma Tafat;Sylvain Boulmé;Claude Marché

  • Affiliations:
  • Lab. de Recherche en Informatique, Univ Paris-Sud, CNRS, Orsay;Institut Polytechnique de Grenoble, VERIMAG, Gières;Lab. de Recherche en Informatique, Univ Paris-Sud, CNRS, Orsay and INRIA Saclay, Île-de-France

  • Venue:
  • FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Refinement is a well-known approach for developing correct-by-construction software. It has been very successful for producing high quality code e.g., as implemented in the B tool. Yet, such refinement techniques are restricted in the sense that they forbid aliasing (and more generally sharing of data-structures), which often happens in usual programming languages. We propose a sound approach for refinement in presence of aliases. Suitable abstractions of programs are defined by algebraic data types and the so-called model fields. These are related to concrete program data using coupling invariants. The soundness of the approach relies on methodologies for (1) controlling aliases and (2) checking side-effects, both in a modular way.