State based encapsulation for modular reasoning about behavior-preserving refactorings

  • Authors:
  • Anindya Banerjee;David A. Naumann

  • Affiliations:
  • IMDEA Software Institute, Madrid, Spain;Stevens Institute of Technology, Hoboken, NJ

  • Venue:
  • Aliasing in Object-Oriented Programming
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

A properly encapsulated data representation can be revised for refactoring or other purposes without affecting the correctness of client programs and extensions of a class. But encapsulation is difficult to achieve in object-oriented programs owing to heap based structures and reentrant callbacks. This chapter shows that it is achieved by a discipline using assertions and auxiliary fields to manage invariants and transferrable ownership. The main result is representation independence: a rule for modular proof of equivalence of class implementations.