Class Schema Evolution for Persistent Object-Oriented Software: Model, Empirical Study, and Automated Support
Marco Piccioni, Manuel Oriol, Bertrand Meyer

TL;DR
This paper presents the ESCHER framework, which automates class schema evolution management in persistent object-oriented systems, ensuring consistency and robustness through version control and invariant enforcement.
Contribution
It introduces a comprehensive model for class attribute changes, empirical validation, and an IDE-integrated tool for automated schema evolution support.
Findings
ESCHER effectively manages class schema changes in large systems.
Automated transformation functions improve data consistency.
Invariant enforcement prevents object corruption.
Abstract
With the wide support for object serialization in object-oriented programming languages, persistent objects have become common place and most large object-oriented software systems rely on extensive amounts of persistent data. Such systems also evolve over time. Retrieving previously persisted objects from classes whose schema has changed is however difficult, and may lead to invalidating the consistency of the application. The ESCHER framework addresses these issues through an IDE-integrated approach that handles class schema evolution by managing versions of the code and generating transformation functions automatically. The infrastructure also enforces class invariants to prevent the introduction of potentially corrupt objects. This article describes a model for class attribute changes, a measure for class evolution robustness, four empirical studies, and the design and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
