Database Reverse Engineering Methods: What is Missing?

Database reverse engineering (DBRE) is a process of extracting requirements from a running system. The process is carried to understand the system having least design and architecture documentation. DBRE is very beneficial when we are expanding our systems or shifting to a newer technology. Since its start, reverse engineering has given hard time to software engineers but researchers are doing a continuous effort to make the process more effective and efficient. Many frameworks and methods have been proposed in the literature; each has its inputs, limitations, assumptions and outputs. CASE tools have been developed by researchers and commercial companies, but no tool provides a complete set of features to reverse engineer a database to a conceptual schema, also a concrete formal model is missing. Few common problems arise while reverse engineering of any system using existing approaches. In this review paper we have analyzed different methods proposed in the literature, discussed their strengths and limitations. Major problems faced by the reverse engineers while using existing methods are identified and discussed. This paper will motivate the software engineers to develop a DBRE method which takes minimal set of inputs, applies least assumptions and generates better output with least or no human

[1]  Heru Agus Santoso,et al.  Ontology extraction from relational database: Concept hierarchy as background knowledge , 2011, Knowl. Based Syst..

[2]  Vincent Englebert,et al.  Database Reverse Engineering , 2009, Encyclopedia of Database Systems.

[3]  Pedro Manuel Antunes Sousa,et al.  Selection of reverse engineering methods for relational databases , 1999, Proceedings of the Third European Conference on Software Maintenance and Reengineering (Cat. No. PR00090).

[4]  Jordi Cabot,et al.  Reverse Engineering of OO constructs in Object-Relational Database Schemas , 2008 .

[5]  Mohammad Reza Abbasifard,et al.  Using Automated Database Reverse Engineering for Database Integration , 2008 .

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

[7]  Natash A. Mian,et al.  Key Analysis of Normalization Process Using Formal Techniques in DBRE , 2010, 2010 Second International Conference on Computer Engineering and Applications.

[8]  Wilhelm Schäfer,et al.  Generic fuzzy reasoning nets as a basis for reverse engineering relational database applications , 1997, ESEC '97/FSE-5.

[9]  Veda C. Storey,et al.  Reverse Engineering of Relational Databases: Extraction of an EER Model from a Relational Database , 1994, Data Knowl. Eng..

[10]  Fernando Brito e Abreu,et al.  Clustering relations into abstract ER schemas for database reverse engineering , 2002, Sci. Comput. Program..

[11]  Philippe Thiran,et al.  Strategies for data reengineering , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[12]  Oreste Signore,et al.  Using procedural patterns in abstracting relational schemata , 1994, Proceedings 1994 IEEE 3rd Workshop on Program Comprehension- WPC '94.

[13]  Anthony Cleve,et al.  Data Reverse Engineering using System Dependency Graphs , 2006, 2006 13th Working Conference on Reverse Engineering.

[14]  Kathi Hogshead Davis,et al.  Data reverse engineering: a historical survey , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[15]  S. Rugaber,et al.  Reverse Reverse-Engineering , 2001 .

[16]  R. E. Kurt Stirewalt,et al.  Model-driven reverse engineering , 2004, IEEE Software.

[17]  Richard McClatchey,et al.  Reverse Engineering Ontology to Conceptual Data Models , 2004, Databases and Applications.

[18]  James R. Cordy,et al.  SQL2XMI: Reverse Engineering of UML-ER Diagrams from Relational Database Schemas , 2008, 2008 15th Working Conference on Reverse Engineering.

[19]  Reda Alhajj Extracting the extended entity-relationship model from a legacy relational database , 2003, Inf. Syst..

[20]  Sher Afzal Khan,et al.  Promotion of Local to Global Operation in Train Control System , 2007, J. Digit. Inf. Manag..

[21]  Jennifer Pérez,et al.  Data Reverse Engineering of Legacy Databases to Object Oriented Conceptual Schemas , 2003, Electron. Notes Theor. Comput. Sci..

[22]  Gerardo Canfora,et al.  New Frontiers of Reverse Engineering , 2007, Future of Software Engineering (FOSE '07).

[23]  Natash Ali Mian,et al.  Database reverse engineering tools , 2008, ICSE 2008.

[24]  Kenny Wong,et al.  An industrial experience in reverse engineering , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[25]  Martin Andersson,et al.  Extracting an Entity Relationship Schema From a Relational Database Through Reverse Engineering , 1994, Int. J. Cooperative Inf. Syst..

[26]  Shrivastava Neeraj,et al.  Overview of Non-redundant Association Rule Mining , 2012 .

[27]  Farooq Ahmad,et al.  Specification and verification of safety properties along a crossing region in a railway network control , 2013 .

[28]  Christian Soutou,et al.  Relational Database Reverse Engineering: Algorithms to Extract Cardinality Constraints , 1998, Data Knowl. Eng..

[29]  Sidi Mohamed Benslimane,et al.  Deriving Conceptual Schema from Domain Ontology: A Web Application Reverse Engineering Approach , 2010, Int. Arab J. Inf. Technol..

[30]  Shukla Brahma Datta Performance Interoperability between RDBs and OODBs , 2012 .

[31]  Aakriti Bhardwaj,et al.  APPROACHES FOR DEADLOCK DETECTION AND DEADLOCK PREVENTION FOR DISTRIBUTED SYSTEMS , 2014 .

[32]  Nittaya Kerdprasop,et al.  Database Reverse Engineering based on Association Rule Mining , 2010, ArXiv.

[33]  William Cheng-Chung Chu,et al.  Application of the software maintenance predicate/transition net (smprt‐net) to the change control process of maintenance , 2000 .

[34]  Zijing Tan,et al.  Annotation Based Query Answer over Inconsistent Database , 2010, Journal of Computer Science and Technology.

[35]  Michael R. Blaha Dimensions of database reverse engineering , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[36]  Keijiro Araki,et al.  Towards the safety properties of moving block railway interlocking system , 2012 .

[37]  Jean-François Boulicaut,et al.  Towards the reverse engineering of renormalized relational databases , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

[38]  Sher Afzal Khan,et al.  Improving moving block railway system using fuzzy multi-agent specification language , 2011 .

[39]  Ira D. Baxter,et al.  Reverse engineering is reverse forward engineering , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[40]  Yoshiteru Ishida,et al.  Reverse engineering of spatial patterns in cellular automata , 2008, Artificial Life and Robotics.

[41]  Paul Johannesson,et al.  A method for transforming relational schemas into conceptual schemas , 1989, Proceedings of 1994 IEEE 10th International Conference on Data Engineering.

[42]  Irina Astrova,et al.  Reverse Engineering of Relational Databases to Ontologies: An Approach Based on an Analysis of HTML Forms , 2004 .

[43]  Muhammad Shahab Siddiqui,et al.  Towards the Development of Web-based Ontology Development and Editing (WODE) Tool , 2012 .

[44]  William C. Chu,et al.  Extracting entity relationship diagram from a table-based legacy database , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[45]  N. Mfourga,et al.  Extracting entity-relationship schemas from relational databases: a form-driven approach , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[46]  Sheetlani Jitendra Concurrency Issues of Distributed Advance Transaction Process , 2012 .

[47]  Amel Mammar,et al.  From a B formal specification to an executable code: application to the relational database domain , 2006, Inf. Softw. Technol..

[48]  Hebatallah Khattab,et al.  University of Jordan Case Tool (Uj-Case- Tool) for Database Reverse Engineering , 2007 .

[49]  Muhammad Raza Ali,et al.  Why teach reverse engineering? , 2005, ACM SIGSOFT Softw. Eng. Notes.

[50]  L. Angyal,et al.  An Overview of the State-ofThe-Art Reverse Engineering Techniques , 2006 .

[51]  Isabelle Comyn-Wattiau,et al.  Extracting generalization hierarchies from relational databases: A reverse engineering approach , 2007, Data Knowl. Eng..

[52]  Tsvetanka Georgieva,et al.  Discovering branching and fractional dependencies in databases , 2008, Data Knowl. Eng..

[53]  Cui Tao,et al.  KBB: A Knowledge-Bundle Builder for Research Studies , 2010, ER Workshops.

[54]  Johann A. Makowsky,et al.  Identifying Extended Entity-Relationship Object Structures in Relational Schemas , 1990, IEEE Trans. Software Eng..

[55]  Olegas Vasilecas,et al.  Building ontologies from relational databases using reverse engineering methods , 2007, CompSysTech '07.

[56]  Roger H. L. Chiang,et al.  A knowledge-based system for performing reverse engineering of relational databases , 1995, Decis. Support Syst..

[57]  Michael Gertz,et al.  Reverse engineering for Web data: from visual to semantic structures , 2002, Proceedings 18th International Conference on Data Engineering.

[58]  Michael Blaha An industrial example of database reverse engineering , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[59]  Martin Andersson Extracting an Entity Relationship Schema from a Relational Database through Reverse Engineering , 1994, ER.

[60]  Harry M. Sneed,et al.  An incremental approach to system replacement and integration , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[61]  Jean-Luc Hainaut,et al.  Research in database engineering at the University of Namur , 2003, SGMD.