Dynamic program analysis for database reverse engineering

10Citations
Citations of this article
11Readers
Mendeley users who have this article in their library.
Get full text

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.

Cite

CITATION STYLE

APA

Cleve, A., Noughi, N., & Hainaut, J. L. (2013). Dynamic program analysis for database reverse engineering. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7680 LNCS, pp. 297–321). https://doi.org/10.1007/978-3-642-35992-7_8

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free