TY - GEN
T1 - Collateral evolution of applications and databases
AU - Lin, Dien Yen
AU - Neamtiu, Iulian
PY - 2009
Y1 - 2009
N2 - Separating the evolution of an application from the evolution of its persistent data, or from the evolution of the database system used to store the data can have collateral effects, such as data loss, program failure, or decreased performance. In this paper, we use empirical evidence to identify challenges and solutions associated with the collateral evolution of application programs and databases. We first perform an evolution study that identifies changes to database schemas in two popular open source applications. Next, we study the evolution of database file formats for three widely-used database management systems. We then investigate how application programs and database management systems cope with these changes, and point out how collateral evolution can lead to potential problems. Finally, we sketch solutions for facilitating and ensuring the safety of application and database evolution, hence minimizing collateral effects.
AB - Separating the evolution of an application from the evolution of its persistent data, or from the evolution of the database system used to store the data can have collateral effects, such as data loss, program failure, or decreased performance. In this paper, we use empirical evidence to identify challenges and solutions associated with the collateral evolution of application programs and databases. We first perform an evolution study that identifies changes to database schemas in two popular open source applications. Next, we study the evolution of database file formats for three widely-used database management systems. We then investigate how application programs and database management systems cope with these changes, and point out how collateral evolution can lead to potential problems. Finally, we sketch solutions for facilitating and ensuring the safety of application and database evolution, hence minimizing collateral effects.
KW - Collateral evolution
KW - Coupled software transformation
KW - Empirical study
KW - Mozilla
KW - Schema evolution
KW - Schema migration
KW - Software evolution
KW - Sqlite
UR - http://www.scopus.com/inward/record.url?scp=70450280876&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=70450280876&partnerID=8YFLogxK
U2 - 10.1145/1595808.1595817
DO - 10.1145/1595808.1595817
M3 - Conference contribution
AN - SCOPUS:70450280876
SN - 9781605586786
T3 - International Workshop on Principles of Software Evolution (IWPSE)
SP - 31
EP - 40
BT - IWPSE-Evol'09 - Proceedings of the Joint International and Annual ERCIM Workshops on Principles of Software Evolution and Software Evolution
T2 - Joint International and Annual ERCIM Workshops on Principles of Software Evolution and Software Evolution, IWPSE-Evol'09
Y2 - 24 August 2009 through 25 August 2009
ER -