14th Working Conference on Reverse Engineering (WCRE 2007)
Discovering the Objectual Meaning of Foreign Key Constraints in Enterprise Applications
Vancouver, BC, Canada
October 28-October 31
ISBN: 0-7695-3034-6
The software industry is increasingly confronted with the issues of understanding and maintaining a special type of object-oriented systems, namely enterprise applications. A specific concern for these applications is to understand the persistent data (usually stored in a RDBMS), and its ma- nipulation in the object-oriented source code. While for- eign keys are an important means for indicating relations within the persistent data, oftentimes, by looking solely at the database schema, it is impossible to determine the exact nature of these relations. This paper proposes a novel ap- proach for determining a refined understanding of the rela- tions among the persistent data, by correlating the informa- tion about foreign keys extracted from the database schema with the way the data are used in the source code. By an- alyzing two enterprise systems we found that the proposed approach helps specifying a significant number of foreign key constraints in terms of their objectual meaning ( e.g., if they denote an inheritance or an aggregation relation). Thus, the approach contributes to enhancing, in an auto- mated manner, the understanding of a system's database schema by tying it to the source code that uses it. Keywords: data reverse engineering, foreign keys, RDBMS model, object-oriented model, enterprise applications