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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
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.
ISO/IEC 9075 part 1–14 Information technology — Database languages - SQL, 2005.
TPC, [Online], Available: http://www.tpc.org/tpcc, October 15, 2008.
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.
J. F. Roddick. A Survey of Schema Versioning Issues for Database Systems. Information and Software Technology, vol. 37, no. 7, pp. 383–393, 1995.
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.
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.
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.
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.
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.
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.
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.
V. Englebert, J. L. Hainaut. DB-MAIN: A Next Generation Meta-CASE. Journal of Information Systems, vol. 24, no. 2, pp. 99–112, 1999.
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.
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.
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.
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.
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.
A. V. Aho, R. Sethi, J. D. Ullman. Compilers: Principles, Techniques and Tools, Addison Wesley, 1986.
M. Weiser. Program Slicing. In Proceedings of the 5th International Conference on Software Engineering, IEEE Press, San Diego, California, USA, pp. 439–449, 1981.
F. Tip. A Survey of Program Slicing Techniques. Journal of Programming Languages, vol. 3, no. 3, pp. 121–189, 1995.
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.
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.
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.
Oracle, [Online], Available: http://www.oracle.com, October 15, 2008.
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.
E. Siougle. Constructing a Software System for Program Testing, Master dissertation, Athens University of Economics and Business, Athens, Greek, 1998.
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.
IEEE Std 610.12-1990 (R2002), IEEE Standard Glossary of Software Engineering Terminology, IEEE, 1990.
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.
Apache Software Foundation, [Online], Available: http://tomcat.apache.org, October 15, 2008.
The Source for Java Developers, [Online], Available: http://java.sun.com, October 15, 2008.
The Source for Java Technology Collaboration, [Online], Available: http://javacc.dev.java.net, October 15, 2008.
ToadSoft, [Online], Available: http://www.toadsoft.com, October 15, 2008.
MySQL, [Online], Available: http://www.mysql.com, October 15, 2008.
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.
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11633-009-0109-4