Class Schema Evolution for Persistent Object-Oriented Software: Model, Empirical Study, and Automated Support
Issue No. 02 - Feb. (2013 vol. 39)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2011.123
Marco Piccioni , ETH Zurich, Zurich
Manuel Oriol , ABB Corporate Research, Industrial Software Systems, Baden-Dättwil and University of York, York
Bertrand Meyer , ETH Zurich, Zurich
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.
Object oriented modeling, Java, Databases, Software, Robustness, Dictionaries, Atomic measurements, IDE integration, Versioning, persistence, serialization, object-oriented class schema evolution
M. Oriol, M. Piccioni and B. Meyer, "Class Schema Evolution for Persistent Object-Oriented Software: Model, Empirical Study, and Automated Support," in IEEE Transactions on Software Engineering, vol. 39, no. , pp. 184-196, 2013.