Skip to main content
Log in

A two-folded impact analysis of schema changes on database applications

  • Published:
International Journal of Automation and Computing Aims and scope Submit manuscript

Abstract

Database applications are becoming increasingly popular, mainly due to the advanced data management facilities that the underlying database management system offers compared against traditional legacy software applications. The interaction, however, of such applications with the database system introduces a number of issues, among which, this paper addresses the impact analysis of the changes performed at the database schema level. Our motivation is to provide the software engineers of database applications with automated methods that facilitate major maintenance tasks, such as source code corrections and regression testing, which should be triggered by the occurrence of such changes. The presented impact analysis is thus two-folded: the impact is analysed in terms of both the affected source code statements and the affected test suites concerning the testing of these applications. To achieve the former objective, a program slicing technique is employed, which is based on an extended version of the program dependency graph. The latter objective requires the analysis of test suites generated for database applications, which is accomplished by employing testing techniques tailored for this type of applications. Utilising both the slicing and the testing techniques enhances program comprehension of database applications, while also supporting the development of a number of practical metrics regarding their maintainability against schema changes. To evaluate the feasibility and effectiveness of the presented techniques and metrics, a software tool, called DATA, has been implemented. The experimental results from its usage on the TPC-C case study are reported and analysed.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. S. K. Gardikiotis, N. Malevris, T. Konstantinou. A Structural Approach towards the Maintenance of Database Applications. In Proceedings of the 8th International Database Engineering and Applications Symposium, IEEE Computer Society, Coimbra, Portugal, pp.277–282, 2004.

    Chapter  Google Scholar 

  2. ISO/IEC 9075 part 1–14 Information technology — Database languages - SQL, 2005.

  3. TPC, [Online], Available: http://www.tpc.org/tpcc, October 15, 2008.

  4. X. Li. A Survey of Schema Evolution in Object-oriented Databases. In Proceedings of IEEE International Conference on Technology of Object-oriented Languages and Systems, Melbourne, Australia, pp. 362–371, 1999.

  5. J. F. Roddick. A Survey of Schema Versioning Issues for Database Systems. Information and Software Technology, vol. 37, no. 7, pp. 383–393, 1995.

    Article  Google Scholar 

  6. S. K. Gardikiotis, N. Malevris. DaSIAn: A Tool for Estimating the Impact of Database Schema Modifications on WEB Applications. In Proceedings of the 4th ACS/IEEE International Conference on Computer Systems and Applications, IEEE Computer Society, Sharjah/Dubai, UAE, pp. 188–195, 2006.

    Chapter  Google Scholar 

  7. D. Chays, Y. Deng, P. G. Frankl, S. Dan, F. I. Vokolos, E. J. Weyuker. An AGENDA for Testing Relational Database Applications. Software Testing, Verification and Reliability, vol. 14, no. 1, pp. 17–44, 2004.

    Article  Google Scholar 

  8. J. Zhang, C. Xu, S. C. Cheung. Automatic Generation of Database Instances for White-box Testing. In Proceedings of the 25th Annual International Computer Software and Applications Conference, IEEE Press, Chicago, IL, USA, pp. 161–165, 2001.

    Google Scholar 

  9. M. Y. Chan, S. C. Cheung. Testing Database Applications with SQL Semantics. In Proceedings of the 2nd International Symposium on Cooperative Database Systems for Advanced Applications, Springer, Wollongong, Australia, pp. 363–374, 1999.

    Google Scholar 

  10. W. K. Chan, S. C. Cheung, T. H. Tse. Fault-based Testing of Database Application Programs with Conceptual Data Model. In Proceedings of the 5th International Conference on Quality Software, IEEE Computer Society, Melbourne, Australia, pp. 187–196, 2005.

    Google Scholar 

  11. R. A. Haraty, N. Mansour, B. Daou. Regression Testing of Database Applications. In Proceedings of the 16th Symposium on Applied Computing, ACM, Las Vegas, USA, pp. 285–289, 2001.

    Google Scholar 

  12. F. Haftmann, D. Kossmann, E. Lo. A Framework for Efficient Regression Tests on Database Applications. The VLDB Journal, vol. 16, no. 1, pp. 145–164, 2007.

    Article  Google Scholar 

  13. V. Englebert, J. L. Hainaut. DB-MAIN: A Next Generation Meta-CASE. Journal of Information Systems, vol. 24, no. 2, pp. 99–112, 1999.

    Article  Google Scholar 

  14. D. Yeh, Y. Li. Extracting Entity Relationship Diagram from a Table-based Legacy Database. In Proceedings of the 9th European Conference on Software Maintenance and Reengineering, IEEE Computer Society, Manchester, UK, pp. 72–79, 2005.

    Google Scholar 

  15. J. Henrard, J. L. Hainaut. Data Dependency Elicitation in Database Reverse Engineering. In Proceedings of the 5th European Conference on Software Maintenance and Reengineering, IEEE Press, Lisbon, Portugal, pp. 11–19, 2001.

    Chapter  Google Scholar 

  16. A. Orso, T. Apiwattanapong, M. J. Harrold. Leveraging Field Data for Impact Analysis and Regression Testing. ACM SIGSOFT Software Engineering Notes, vol. 28, no. 5, pp. 128–137, 2003.

    Article  Google Scholar 

  17. L. C. Briand, J. Wuest, H. Lounis. Using Coupling Measurement for Impact Analysis in Object-oriented Systems. In Proceedings of the 15th IEEE International Conference on Software Maintenance, IEEE Computer Society, Oxford, UK, pp. 475–482, 1999.

    Google Scholar 

  18. H. Zhu, P. A. V. Hall, J. H. R. May. Software Unit Test Coverage and Adequacy. ACM Computing Surveys, vol. 29, no. 4, pp. 366–427, 1997.

    Article  Google Scholar 

  19. A. V. Aho, R. Sethi, J. D. Ullman. Compilers: Principles, Techniques and Tools, Addison Wesley, 1986.

  20. M. Weiser. Program Slicing. In Proceedings of the 5th International Conference on Software Engineering, IEEE Press, San Diego, California, USA, pp. 439–449, 1981.

    Google Scholar 

  21. F. Tip. A Survey of Program Slicing Techniques. Journal of Programming Languages, vol. 3, no. 3, pp. 121–189, 1995.

    Google Scholar 

  22. B. Xu, J. Qian, X. Zhang, Z. Wu, L. Chen. A Brief Survey of Program Slicing. SIGSOFT Software Engineering Notes, vol. 30, no. 2, pp. 1–36, 2005.

    Article  Google Scholar 

  23. K. J. Ottenstein, L. M. Ottenstein. The Program Dependence Graph in a Software Development Environment. In Proceedings of the 1st Software Engineering Symposium on Practical Software Development Environments, ACM, Pittsburgh, Pennsylvania, pp. 177–184, 1984.

    Chapter  Google Scholar 

  24. S. Horwitz, T. Reps, D. Binkley. Interprocedural Slicing Using Dependence Graphs. ACM Transactions on Programming Languages and Systems, vol. 12, no. 1, pp. 26–60, 1990.

    Article  Google Scholar 

  25. Oracle, [Online], Available: http://www.oracle.com, October 15, 2008.

  26. S. K. Gardikiotis, N. Malevris. Program Analysis and Testing of Database Applications. In Proceedings of the 5th IEEE/ACIS International Conference on Computer and Information Science, IEEE Computer Society, Honolulu, Hawaii, USA, pp. 368–373, 2006.

    Google Scholar 

  27. E. Siougle. Constructing a Software System for Program Testing, Master dissertation, Athens University of Economics and Business, Athens, Greek, 1998.

    Google Scholar 

  28. D. Yates, N. Malevris. Reducing the Effects of Infeasible Paths in Branch Testing. ACM SIGSOFT Software Engineering Notes, vol. 14, no. 8, pp. 48–54, 1989.

    Article  Google Scholar 

  29. IEEE Std 610.12-1990 (R2002), IEEE Standard Glossary of Software Engineering Terminology, IEEE, 1990.

  30. S. R. Chidamber, C. F. Kemerer. A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering, vol. 20, no. 6, pp. 476–493, 1994.

    Article  Google Scholar 

  31. Apache Software Foundation, [Online], Available: http://tomcat.apache.org, October 15, 2008.

  32. The Source for Java Developers, [Online], Available: http://java.sun.com, October 15, 2008.

  33. The Source for Java Technology Collaboration, [Online], Available: http://javacc.dev.java.net, October 15, 2008.

  34. ToadSoft, [Online], Available: http://www.toadsoft.com, October 15, 2008.

  35. MySQL, [Online], Available: http://www.mysql.com, October 15, 2008.

  36. S. K. Gardikiotis, V. S. Lazarou, N. Malevris. An Agentbased Approach for the Maintenance of Database Applications. In Proceedings of the 5th International Conference on Software Engineering Research, Management and Applications, IEEE Computer Society, Busan, Korea, pp. 558–565, 2007.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Spyridon K. Gardikiotis.

Additional information

Spyridon K. Gardikiotis received the B. Sc. degree in informatics from the Athens University of Economics and Business, Greece, in 1997 and the M. Sc. degree in advanced computing from the Imperial College of Science, Technology and Medicine, London, UK, in 1998. He currently works as an IT expert at the Central Bank of Greece and he is a Ph.D. candidate in informatics at the Athens University of Economics and Business.

His research interests include software engineering of web/database applications, enterprise software architecture, and IT projects’ governance.

Nicos Malevris received the B. Sc. degree in mathematics from the University of Athens, Greece in 1982, the M. Sc. degree in operational research from the University of Southampton, UK, in 1984 and the Ph.D. degree in computer science from the University of Liverpool, UK, in 1988. He has been with the Department of Informatics at the Athens University of Economics and Business since 1991 where he is an associate professor.

His research interests include software quality assurance, software testing, and software reliability.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Gardikiotis, S.K., Malevris, N. A two-folded impact analysis of schema changes on database applications. Int. J. Autom. Comput. 6, 109–123 (2009). https://doi.org/10.1007/s11633-009-0109-4

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11633-009-0109-4

Keywords

Navigation