2016 · 26 citations · 24 references
ComputingComputer ScienceComputer SystemsDatabasesFault ToleranceSoftware EngineeringDatabase ManagementObject-relational DatabasesQuery ProcessingSoftware EvolutionSoftware Fault ToleranceSoftware MaintenanceConcatenationData-intensive ComputingDatabase Schema EvolutionSchema ChangeSchema EvolutionSchema RefactoringSource Code Change AnalysisSource Code Evolution
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.
24
Predicting source code changes by mining change history
Annie T. T. Ying, Gail C. Murphy, Raymond T. Ng et al. · IEEE Transactions on Software Engineering · 2004 · 571 citations
Information and Software Technology · 1993 · 143 citations · Full text
SCHEMA EVOLUTION IN WIKIPEDIA - Toward a Web Information System Benchmark
Carlo Curino, Letizia Tanca, Hyun Jin Moon et al. · 2008 · 113 citations