Identifying Impacts of Database Schema Changes on Applications

Research in schema evolution has been driven by the need for more effective software development and maintenance. Finding impacts of schema changes on the applications and presenting them in an appropriate way are particularly challenging. We have developed a tool that finds impacts of schema changes on applications in object-oriented systems. This tool displays components (packages, classes, interfaces, methods and fields) of a database application system as a graph. Components potentially affected by a change are indicated by changing the shape of the boxes representing those components. We have evaluated the tool by own judgement on a real-life application and by a controlled student experiment. Our results indicate that identifying impacts at the level of fields and methods can reduce the time needed to conduct schema changes and reduce the number of errors compared with identifying impacts at the level of classes. Moreover, the subjects of the experiment appreciated the idea of visualizing the impacts of schema changes.

[1]  Lawrence J. Henschen,et al.  Efficient Algorithms for the Instantiated Transitive Closure Queries , 1991, IEEE Trans. Software Eng..

[2]  Helmut Thoma Seventh International Workshop on Database and Expert Systems Applications , 1996, Proceedings of 7th International Conference and Workshop on Database and Expert Systems Applications: DEXA 96.

[3]  Roberto Zicari,et al.  A framework for schema updates in an object-oriented database system , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

[4]  Hans-Erik Eriksson,et al.  UML toolkit , 1997 .

[5]  Fabrizio Ferrandina,et al.  Schema and Database Evolution in the O2 Object Database System , 1995, VLDB.

[6]  Gilles Barbedette,et al.  Schema Modifications in the LISPO2 Persistent Object-Oriented Language , 1991, ECOOP.

[7]  Ian Sommerville,et al.  A Model for Versioning of Classes in Object-Oriented Databases , 1992, BNCOD.

[8]  Miguel Rodrigues Fornari,et al.  Schema Evolution in the STAR Framework , 1998, RITA.

[9]  Paul Walton Purdom,et al.  A transitive closure algorithm , 1970, BIT.

[10]  John F. Roddick,et al.  A survey of schema versioning issues for database systems , 1995, Inf. Softw. Technol..

[11]  David Chenho Kung,et al.  Change impact identification in object oriented software maintenance , 1994, Proceedings 1994 International Conference on Software Maintenance.

[12]  Sidney L. Smith,et al.  Guidelines for Designing User Interface Software , 1986 .

[13]  Stephen Warshall,et al.  A Theorem on Boolean Matrices , 1962, JACM.

[14]  Peter Sawyer,et al.  Evaluation for Evolution: How Well Commercial Systems Do , 1999, ECOOP Workshops.

[15]  Michel Léonard,et al.  Management Of Schema Evolution In Databases , 1991, VLDB.

[16]  Jay Banerjee,et al.  Semantics and implementation of schema evolution in object-oriented databases , 1987, SIGMOD '87.

[17]  Xue Li A survey of schema evolution in object-oriented databases , 1999, Proceedings Technology of Object-Oriented Languages and Systems (Cat. No.PR00393).

[18]  Sven-Eric Lautemann,et al.  The COAST Project: Design and Implementation , 1997, DOOD.

[19]  Zohra Bellahsene View Mechanism for Schema Evolution , 1996, BNCOD.

[20]  Stanley B. Zdonik,et al.  Type Evolution in an Object-Oriented Database , 1987, Research Foundations in Object-Oriented and Semantic Database Systems.

[21]  Barbara Kitchenham,et al.  DESMET: a methodology for evaluating software engineering methods and tools , 1997 .

[22]  Mourad Bouneffa,et al.  Local and Federated Database Schemas Evolution, An Impact Propagation Model , 1999, DEXA.

[23]  Malcolm P. Atkinson,et al.  Scalable and Recoverable Implementation of Object Evolution for the PJama1 Platform , 2000, POS.

[24]  Malcolm P. Atkinson,et al.  Evolutionary Data Conversion in the PJama Persistent Language , 1999, ECOOP Workshops.

[25]  Marvin V. Zelkowitz,et al.  Experimental Models for Validating Technology , 1998, Computer.

[26]  Sven-Eric Lautemann A propagation mechanism for populated schema versions , 1997, Proceedings 13th International Conference on Data Engineering.

[27]  Walter F. Tichy,et al.  Hints for Reviewing Empirical Work in Software Engineering , 2000, Empirical Software Engineering.

[28]  Simon R. Monk,et al.  A model for schema evolution in object-oriented database systems , 1993 .

[29]  James R. Lewis,et al.  IBM computer usability satisfaction questionnaires: Psychometric evaluation and instructions for use , 1995, Int. J. Hum. Comput. Interact..

[30]  Sven-Eric Lautemann An introduction to schema versioning in OODBMS , 1996, Proceedings of 7th International Conference and Workshop on Database and Expert Systems Applications: DEXA 96.

[31]  Elke A. Rundensteiner,et al.  A Transparent Schema-Evolution System Based on Object-Oriented View Technology , 1997, IEEE Trans. Knowl. Data Eng..

[32]  Michel Léonard,et al.  Transposed Storage of an Object Database to Reduce the Cost of Schema Changes , 1999, ER.

[33]  D. Sjøberg,et al.  Quantifying schema evolution , 1993, Inf. Softw. Technol..