Abstract
Nowadays, data-intensive applications tend to access their underlying database in an increasingly dynamic way. The queries that they send to the database server are usually built at runtime, through String concatenation, or Object-Relational-Mapping (ORM) frameworks. This level of dynamicity significantly complicates the task of adapting application programs to database schema changes. Failing to correctly adapt programs to an evolving database schema results in program inconsistencies, which in turn may cause program failures. In this paper, we present a tool-supported approach, that allows developers to (1) analyze how the source code and database schema co-evolved in the past and (2) simulate a database schema change and automatically determine the set of source code locations that would be impacted by this change. Developers are then provided with recommendations about what they should modify at those source code locations in order to avoid inconsistencies. The approach has been designed to deal with Java systems that use dynamic data access frameworks such as JDBC, Hibernate and JPA. We motivate and evaluate the proposed approach, based on three real-life systems of different size and nature.
Original language | English |
---|---|
Title of host publication | Proceedings - 2016 IEEE International Conference on Software Quality, Reliability and Security, QRS 2016 |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
Pages | 262-273 |
Number of pages | 12 |
ISBN (Electronic) | 9781509041275 |
DOIs | |
Publication status | Published - 12 Oct 2016 |
Event | 2nd IEEE International Conference on Software Quality, Reliability and Security, QRS 2016 - Vienna, Austria Duration: 1 Aug 2016 → 3 Aug 2016 |
Conference
Conference | 2nd IEEE International Conference on Software Quality, Reliability and Security, QRS 2016 |
---|---|
Country/Territory | Austria |
City | Vienna |
Period | 1/08/16 → 3/08/16 |
Keywords
- database schema evolution
- JDBC
- ORM
- program-database co-evolution
- what-if approach
Fingerprint
Dive into the research topics of 'Detecting and Preventing Program Inconsistencies under Database Schema Evolution'. Together they form a unique fingerprint.Student theses
-
Analyzing, Understanding and Supporting the Evolution of Dynamic and Heterogeneous Data-Intensive Software Systems
Meurice, L. (Author), Cleve, A. (Supervisor), Englebert, V. (President), Lanza, M. (Jury), Mens, T. (Jury), Frenay, B. (Jury) & Vanhoof, W. (Jury), 22 Jun 2017Student thesis: Doc types › Doctor of Sciences
File
Prizes
-
Best Paper Award at the 2016 International Conference on Software Quality, Reliability and Security (QRS 2016)
Meurice, L. (Recipient), Nagy, C. (Recipient) & Cleve, A. (Recipient), 2016
Prize: Prize (including medals and awards)