Static analysis of dynamic database usage in java systems

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


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.

Original languageEnglish
Title of host publicationAdvanced Information Systems Engineering - 28th International Conference, CAiSE 2016, Proceedings
PublisherSpringer Verlag
Number of pages16
ISBN (Print)9783319396958
Publication statusPublished - 2016
Event28th International Conference on Advanced Information Systems Engineering, CAiSE 2016 - Ljubljana, Slovenia
Duration: 13 Jun 201617 Jun 2016

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
ISSN (Print)03029743
ISSN (Electronic)16113349


Conference28th International Conference on Advanced Information Systems Engineering, CAiSE 2016


  • Database access recovery
  • Java
  • ORM
  • Static analysis


Dive into the research topics of 'Static analysis of dynamic database usage in java systems'. Together they form a unique fingerprint.

Cite this