Title :
Class Schema Evolution for Persistent Object-Oriented Software: Model, Empirical Study, and Automated Support
Author :
Piccioni, Marco ; Oriol, Manuel ; Meyer, Bertrand
Author_Institution :
ETH Zurich, Zurich, Switzerland
Abstract :
With the wide support for object serialization in object-oriented programming languages, persistent objects have become commonplace 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 paper describes a model for class attribute changes, a measure for class evolution robustness, four empirical studies, and the design and implementation of the ESCHER system.
Keywords :
object-oriented languages; object-oriented programming; persistent objects; ESCHER system design; ESCHER system implementation; IDE-integrated approach; automatic transformation function generation; class evolution robustness; class schema evolution; object serialization; object-oriented programming languages; object-oriented software systems; persistent object-oriented software; potentially corrupt objects; Atomic measurements; Databases; Dictionaries; Java; Object oriented modeling; Robustness; Software; IDE integration; Versioning; object-oriented class schema evolution; persistence; serialization;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2011.123