TY - GEN
T1 - Automatic adaptation of software applications to database evolution by graph differencing and AOP-based dynamic patching
AU - Song, Yang
AU - Peng, Xin
AU - Xing, Zhenchang
AU - Zhao, Wenyun
PY - 2012
Y1 - 2012
N2 - Modern information systems, such as enterprise applications and e-commerce applications, often consist of databases surrounded by a large variety of software applications depending on the databases. During the evolution and deployment of such information systems, developers have to ensure the global consistency between database schemas and surrounding software applications. However, in such situations as Enterprise Application Integration (EAI), databases are shared by a number of software applications contributed by different independent parties, and the developers of those applications often have little or no control on when and how database schema evolves over time. As a result, databases and software applications may not always remain in sync. Such inconsistency may lead to data loss, program failures, or decreased performance. The fundamental challenge in evolving and deploying such database-centric information systems is the fact that databases and their surrounding software applications are subject to independent, asynchronous, and potentially conflicting evolution processes. In this paper, we present an approach to automatically adapting software applications to the evolution of their underlying databases by graph-based schema differencing and aspect-oriented dynamic patching. Our empirical study shows that our approach can automatically adapt software applications to a number of common types of database schema evolution, which accounts for over 87.5% of all schema evolution in the subject system. Our approach allows database schema maintainer to evolve database schema more freely without being afraid of breaking surrounding software applications; it also allows application developers to catch up database schema evolution more quickly without diverting too much from their main business concerns.
AB - Modern information systems, such as enterprise applications and e-commerce applications, often consist of databases surrounded by a large variety of software applications depending on the databases. During the evolution and deployment of such information systems, developers have to ensure the global consistency between database schemas and surrounding software applications. However, in such situations as Enterprise Application Integration (EAI), databases are shared by a number of software applications contributed by different independent parties, and the developers of those applications often have little or no control on when and how database schema evolves over time. As a result, databases and software applications may not always remain in sync. Such inconsistency may lead to data loss, program failures, or decreased performance. The fundamental challenge in evolving and deploying such database-centric information systems is the fact that databases and their surrounding software applications are subject to independent, asynchronous, and potentially conflicting evolution processes. In this paper, we present an approach to automatically adapting software applications to the evolution of their underlying databases by graph-based schema differencing and aspect-oriented dynamic patching. Our empirical study shows that our approach can automatically adapt software applications to a number of common types of database schema evolution, which accounts for over 87.5% of all schema evolution in the subject system. Our approach allows database schema maintainer to evolve database schema more freely without being afraid of breaking surrounding software applications; it also allows application developers to catch up database schema evolution more quickly without diverting too much from their main business concerns.
KW - Application adapter
KW - Database evolution
KW - Software evolution
KW - Software maintenance
UR - http://www.scopus.com/inward/record.url?scp=84870778434&partnerID=8YFLogxK
U2 - 10.1109/COMPSAC.2012.21
DO - 10.1109/COMPSAC.2012.21
M3 - Conference contribution
SN - 9780769547367
T3 - Proceedings - International Computer Software and Applications Conference
SP - 111
EP - 118
BT - Proceedings - 36th Annual IEEE International Computer Software and Applications Conference, COMPSAC 2012
T2 - 36th IEEE Annual International Computer Software and Applications Conference, COMPSAC 2012
Y2 - 16 July 2012 through 20 July 2012
ER -