Detecting and Preventing Program Inconsistencies under Database Schema Evolution

Research output: Contribution in Book/Catalog/Report/Conference proceedingConference contribution

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 languageEnglish
Title of host publicationProceedings - 2016 IEEE International Conference on Software Quality, Reliability and Security, QRS 2016
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages262-273
Number of pages12
ISBN (Electronic)9781509041275
DOIs
Publication statusPublished - 12 Oct 2016
Event2nd IEEE International Conference on Software Quality, Reliability and Security, QRS 2016 - Vienna, Austria
Duration: 1 Aug 20163 Aug 2016

Conference

Conference2nd IEEE International Conference on Software Quality, Reliability and Security, QRS 2016
CountryAustria
CityVienna
Period1/08/163/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

    Author: Meurice, L., 22 Jun 2017

    Supervisor: Cleve, A. (Supervisor), Englebert, V. (President), Lanza, M. (External person) (Jury), Mens, T. (External person) (Jury), Frenay, B. (Jury) & Vanhoof, W. (Jury)

    Student thesis: Doc typesDoctor of Sciences

    File

    Prizes

    Best Paper Award

    Meurice, Loup (Recipient), Cleve, Anthony (Recipient) & NAGY, CSABA (Recipient), 2016

    Prize: Prize (including medals and awards)

    Cite this

    Meurice, L., Nagy, C., & Cleve, A. (2016). Detecting and Preventing Program Inconsistencies under Database Schema Evolution. In Proceedings - 2016 IEEE International Conference on Software Quality, Reliability and Security, QRS 2016 (pp. 262-273). [7589806] Institute of Electrical and Electronics Engineers Inc.. https://doi.org/10.1109/QRS.2016.38