Understanding the links between application programs and their database is useful in various contexts such as migrating information systems towards a new database platform, evolving the database schema, or assessing the overall system quality. In the case of Java systems, identifying which portion of the source code accesses which portion of the database may prove challenging. Indeed, Java programs typically access their database in a dynamic way. The queries they send to the database server are built at runtime, through String concatenations, or Object- Relational Mapping frameworks like Hibernate and JPA. This paper presents a static analysis approach to program-database links recovery, specifically designed for Java systems. The approach allows developers to automatically identify the source code locations accessing given database tables and columns. It focuses on the combined analysis of JDBC, Hibernate and JPA invocations. We report on the use of our approach to analyse three real-life Java systems.
|Title of host publication||Advanced Information Systems Engineering - 28th International Conference, CAiSE 2016, Proceedings|
|Number of pages||16|
|Publication status||Published - 2016|
|Event||28th International Conference on Advanced Information Systems Engineering, CAiSE 2016 - Ljubljana, Slovenia|
Duration: 13 Jun 2016 → 17 Jun 2016
|Name||Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)|
|Conference||28th International Conference on Advanced Information Systems Engineering, CAiSE 2016|
|Period||13/06/16 → 17/06/16|
- Database access recovery
- Static analysis
FingerprintDive into the research topics of 'Static analysis of dynamic database usage in java systems'. Together they form a unique fingerprint.
Analyzing, Understanding and Supporting the Evolution of Dynamic and Heterogeneous Data-Intensive Software SystemsAuthor: Meurice, L., 22 Jun 2017
Student thesis: Doc types › Doctor of SciencesFile