Aiding Maintenance of Database Applications Through Extracting Attribute Dependency Graph

Database is a major component of many software systems. This paper proposes a novel graph called the attribute dependency graph to reveal the dependencies between attributes in a database application and also the programs involved. The authors propose an approach to automatically extract the attribute dependency graph out of a database application from its source code through inter-procedural static program analysis. The extracted information is a straightforward indicator that benefits the maintenance process, particularly for impact analysis on the modifications in a database application. A tool has been developed to implement the proposed approach for PHP-based database applications. Case studies have also been conducted to demonstrate the use of our approach.

[1]  Keng Siau,et al.  Advanced Principles for Improving Database Design, Systems Modeling, and Software Development , 2008 .

[2]  Jean-Luc Hainaut,et al.  Data dependency elicitation in database reverse engineering , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

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

[4]  Keng Siau,et al.  Co-creation and Collaboration in a Virtual World: A 3D Visualization Design Project in Second Life , 2010, J. Database Manag..

[5]  Gregg Rothermel,et al.  Whole program path-based dynamic impact analysis , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[6]  Nicos Malevris,et al.  A two-folded impact analysis of schema changes on database applications , 2009, Int. J. Autom. Comput..

[7]  Joost Visser,et al.  Quality Assessment for Embedded SQL , 2007 .

[8]  Yuan Zhao,et al.  Conceptual data model-based software size estimation for information systems , 2009, TSEM.

[9]  Hee Beng Kuan Tan,et al.  Applying static analysis for automated extraction of database interactions in web applications , 2008, Inf. Softw. Technol..

[10]  Shirley Ann Becker,et al.  Effective Databases for Text & Document Management , 2003 .

[11]  Keng Siau Cross-Disciplinary Models and Applications of Database Management: Advancing Approaches , 2011 .

[12]  WeiKwok-Kee,et al.  The effect of data model, system and task characteristics on user query performance , 1997 .

[13]  Dinesh Batra Conceptual Data Modeling Patterns: Representation and Validation , 2005, J. Database Manag..

[14]  Tok Wang Ling,et al.  Exploring into Programs for the Recovery of Data Dependencies Designed , 2002, IEEE Trans. Knowl. Data Eng..

[15]  Yuan Zhao,et al.  Automated elicitation of functional dependencies from source codes of database transactions , 2004, Inf. Softw. Technol..

[16]  A. Maule,et al.  Impact analysis of database schema changes , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[17]  Arie van Deursen,et al.  Rapid system understanding: Two COBOL case studies , 1998, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242).

[18]  Vasant Dhar,et al.  Knowledge Discovery from Databases: the Nyu Project , 1995 .

[19]  Hongyu Zhang,et al.  Measuring design complexity of semantic web ontologies , 2010, J. Syst. Softw..

[20]  Robert S. Arnold,et al.  Software Change Impact Analysis , 1996 .

[21]  Xu Chen,et al.  Extraction of Attribute Dependency Graph from Database Applications , 2011, 2011 18th Asia-Pacific Software Engineering Conference.

[22]  Tamás Gergely,et al.  Towards a Safe Method for Computing Dependencies in Database-Intensive Systems , 2010, 2010 14th European Conference on Software Maintenance and Reengineering.

[23]  Nicos Malevris,et al.  An Agent-based Approach for the Maintenance of Database Applications , 2007, 5th ACIS International Conference on Software Engineering Research, Management & Applications (SERA 2007).

[24]  Ni Lar Thein,et al.  Recovery of PTUIE handling from source codes through recognizing its probable properties , 2004, IEEE Transactions on Knowledge and Data Engineering.

[25]  Mehmet M. Dalkilic,et al.  A Measurement Ontology Generalizable for Emerging Domain Applications on the Semantic Web , 2007, J. Database Manag..

[26]  Christopher Krügel,et al.  Pixy: a static analysis tool for detecting Web application vulnerabilities , 2006, 2006 IEEE Symposium on Security and Privacy (S&P'06).

[27]  Xu Chen,et al.  Automated Extraction of Data Lifecycle Support from Database Applications , 2011, SEKE.

[28]  David Taniar,et al.  A Taxonomy for Object-Relational Queries , 2003, Effective Databases for Text & Document Management.

[29]  Pablo Castro,et al.  ADO.NET entity framework: raising the level of abstraction in data programming , 2007, SIGMOD '07.

[30]  Zhendong Su,et al.  Static Checking of Dynamically Generated Queries in Database Applications , 2004, ICSE 2004.

[31]  Philip Calvert,et al.  Encyclopedia of Database Technologies and Applications , 2005 .

[32]  Keng Siau,et al.  The effect of data model, system and task characteristics on user query performance: an empirical study , 1997, DATB.