Dynamic program analysis for database reverse engineering

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

Abstract

The maintenance and evolution of data-intensive systems should ideally rely on a complete and accurate database documentation. Unfortunately, this documentation is often missing, or, at best, outdated. Database redocumentation, a process also known as database reverse engineering, then comes to the rescue. This process typically involves the elicitation of implicit schema constructs, that is, data structures and constraints that have been incompletely translated into the operational database schema. In this context, the SQL statements executed by the programs may be a particularly rich source of information. SQL APIs come in two variants, namely static and dynamic. The latter is intensively used in objectoriented and web applications, notably through ODBC and JDBC APIs. While the static analysis of SQL queries has long been studied, coping with automatically generated SQL statements requires other weapons. This tutorial provides an in-depth exploration of the use of dynamic program analysis as a basis for reverse engineering relational databases. It describes and illustrates several automated techniques allowing to capture the trace of the SQL-related events occuring during the execution of data-intensive programs. It then presents and evaluates several heuristics and techniques supporting the automatic recovery of implicit schema constructs from SQL execution traces. Other applications of SQL execution trace analysis are also identified. © Springer-Verlag Berlin Heidelberg 2013.

Original languageEnglish
Title of host publicationLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
PublisherSpringer
Pages297-321
Number of pages25
Volume7680 LNCS
ISBN (Print)9783642359910
DOIs
Publication statusPublished - 1 Dec 2013
Event4th International Summer School on Generative and Transformational Techniques in Software Engineering IV, GTTSE 2011 - Braga, Portugal
Duration: 3 Jul 20119 Jul 2011

Publication series

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

Conference

Conference4th International Summer School on Generative and Transformational Techniques in Software Engineering IV, GTTSE 2011
Country/TerritoryPortugal
CityBraga
Period3/07/119/07/11

Fingerprint

Dive into the research topics of 'Dynamic program analysis for database reverse engineering'. Together they form a unique fingerprint.
  • Evolution: Evolution

    Cleve, A.

    1/01/1031/01/10

    Project: Research Axis

Cite this