Program Understanding in Databases Reverse Engineering

The main argument of the paper is that database understanding (or reverse engineering) requires sophisticated program understanding techniques, and conversely. Database reverse engineering (DBRE) can be carried out following a generic methodology, one of the phases of which consists in eliciting all the implicit and untranslated data structures and constraints. Evidences of these hidden constructs can be found by analysing how the programs use and update the data. Hence the need for program analysis techniques such as searching for cliches, dependency analysis, program slicing and synthetic views. The paper explains how these techniques contribute to DBRE, and describes DB-MAIN, a programmable and extensible CASE environment that supports DBRE through program understanding techniques.

[1]  Arun Lakhotia,et al.  Program comprehension , 1999 .

[2]  Jean-Luc Hainaut,et al.  Contribution to a theory of database reverse engineering , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[3]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1990, TOPL.

[4]  Jean-Marc Petit,et al.  Using Queries to Improve Database Reverse Engineering , 1994, ER.

[5]  Vincent Englebert,et al.  Knowledge transfer in database reverse engineering: a supporting case study , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[6]  Wei-Tek Tsai,et al.  Data-centered program understanding , 1994, Proceedings 1994 International Conference on Software Maintenance.

[7]  William J. Premerlani,et al.  Observed idiosyncracies of relational database designs , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[8]  Vincent Englebert,et al.  DB-Main: un atelier d'ingénierie de bases de données , 1995, BDA.

[9]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[10]  Shamkant B. Navathe,et al.  Conceptual Database Design: An Entity-Relationship Approach , 1991 .