Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Growing up with stability

Published: 01 October 2015 Publication History

Abstract

Like all software systems, databases are subject to evolution as time passes. The impact of this evolution can be vast as a change to the schema of a database can affect the syntactic correctness and the semantic validity of all the surrounding applications. In this paper, we have performed a thorough, large-scale study on the evolution of databases that are part of larger open source projects, publicly available through open source repositories. Lehman s laws of software evolution, a well-established set of observations on how the typical software systems evolve (matured during the last forty years), has served as our guide towards providing insights on the mechanisms that govern schema evolution. Much like software systems, we found that schemata expand over time, under a stabilization mechanism that constraints uncontrolled expansion with perfective maintenance. At the same time, unlike typical software systems, the growth is typically low, with long periods of calmness interrupted by bursts of maintenance and a surprising lack of complexity increase.

References

[1]
D. Sjøberg, Quantifying schema evolution, Inf. Softw. Technol., 35 (1993) 35-44.
[2]
G. Papastefanatos, P. Vassiliadis, A. Simitsis, Y. Vassiliou, Metrics for the prediction of evolution impact in ETL ecosystems, J. Data Semant., 1 (2012) 75-97.
[3]
C. Curino, H.J. Moon, L. Tanca, C. Zaniolo, Schema evolution in wikipedia: toward a web information system benchmark, in: Proceedings of 10th International Conference on Enterprise Information Systems (ICEIS), 2008.
[4]
D.-Y. Lin, I. Neamtiu, Collateral evolution of applications and databases, in: Proceedings of the Joint International and Annual ERCIM Workshops on Principles of Software Evolution and Software Evolution Workshops (IWPSE), 2009, pp. 31-40.
[5]
S. Wu, I. Neamtiu, Schema evolution analysis for embedded databases, in: Proceedings of the 27th IEEE International Conference on Data Engineering Workshops (ICDEW), 2011, pp. 151-156.
[6]
D. Qiu, B. Li, Z. Su, An Empirical analysis of the co-evolution of schema and code in database applications, in: Proceedings of the 9th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), 2013, pp. 125-135.
[7]
L.A. Belady, M.M. Lehman, A model of large program development, IBM Syst. J., 15 (1976) 225-252.
[8]
M.M. Lehman, J.C. Fernandez-Ramil, P. Wernick, D.E. Perry, W.M. Turski, Metrics and laws of software evolution-the nineties view, in: Proceedings of the 4th IEEE International Software Metrics Symposium (METRICS), 1997, pp. 20-34.
[9]
M.M. Lehman, J.C. Fernandez-Ramil, Rules and Tools for Software Evolution Planning and Management, Wiley, Chichester, West Sussex, England, 2006.
[10]
I. Herraiz, D. Rodriguez, G. Robles, J.M. Gonzalez-Barahona, The evolution of the laws of software evolution, ACM Comput. Surv., 46 (2013) 1-28.
[11]
M. Wermelinger, Y. Yu, A. Lozano, Design principles in architectural evolution: a case study, in: Proceedings of the 24th IEEE International Conference on Software Maintenance (ICSM), 2008, pp. 396-405.
[12]
Z. Xing, E. Stroulia, Analyzing the evolutionary history of the logical design of object-oriented software, IEEE Trans. Softw. Eng., 31 (2005) 850-868.
[13]
M. Lehman, Programs life cycles and laws of software evolution, Proc. IEEE, 68 (1980) 1060-1076.
[14]
M.M. Lehman, Laws of software evolution revisited, in: Proceedings of 5th European Workshop on Software Process Technology (EWSPT), 1996, pp. 108-124.
[15]
M.M. Lehman, J.C. Fernandez-Ramil, D.E. Perry, On evidence supporting the FEAST hypothesis and the laws of software evolution, in: Proceedings of the 5th IEEE International Software Metrics Symposium (METRICS), 1998, pp. 84-88.
[16]
S.S. Pirzada, A statistical examination of the evolution of the unix system (Ph.D. thesis), Imperial College, University of London, 1988.
[17]
N.T. Siebel, S. Cook, M. Satpathy, D. Rodríguez, Latitudinal and Longitudinal Process Diversity, J. Softw. Maint. Res. Pract., 15 (2003) 9-25.
[18]
M.J. Lawrence, An examination of evolution dynamics, in: Proceedings of the 6th International Conference on Software Engineering (ICSE), 1982, pp. 188-196.
[19]
M.W. Godfrey, Q. Tu, Evolution in open source software: a case study, in: Proceedings of the 16th IEEE International Conference on Software Maintenance (ICSM), 2000, pp. 131-142.
[20]
M.W. Godfrey, Q. Tu, Growth, evolution, and structural change in open source software, in: Proceedings of the 4th International Workshop on Principles of Software Evolution (IWPSE), 2001, pp. 103-106.
[21]
G. Robles, J.J. Amor, J.M. Gonzalez-Barahona, I. Herraiz, Evolution and growth in large Libre software projects, in: Proceedings of the 8th International Workshop on Principles of Software Evolution (IWPSE), 2005, pp. 165-174.
[22]
S. Koch, Software evolution in open source projects, J. Softw. Maint. Evol., 19 (2007) 361-382.
[23]
G. Xie, J. Chen, I. Neamtiu, Towards a better understanding of software evolution: an empirical study on open source software, in: Proceedings of the 25th IEEE International Conference on Software Maintenance (ICSM), 2009, pp. 51-60.
[24]
I. Herraiz, G. Robles, J.M. Gonzalez-Barahon, Comparison between SLOCs and number of files as size metrics for software evolution analysis, in: Proceedings of the 10th European Conference on Software Maintenance and Reengineering (CSMR), 2006, pp. 206-213.
[25]
R. Vasa, Growth and change dynamics in open source software systems (Ph.D. thesis), Swinburn University of Technology, Australia, 2010.
[26]
A. Israeli, D.G. Feitelson, The Linux kernel as a case study in software evolution, J. Syst. Softw., 83 (2010) 485-501.
[27]
C.A. Curino, H.J. Moon, C. Zaniolo, Graceful database schema evolution, Proc. VLDB Endow., 1 (2008) 761-772.
[28]
C. Curino, H.J. Moon, A. Deutsch, C. Zaniolo, Automating the database schema evolution process, VLDB J., 22 (2013) 73-98.
[29]
G. Papastefanatos, P. Vassiliadis, A. Simitsis, Y. Vassiliou, Policy-regulated management of ETL evolution, J. Data Semant., 13 (2009) 147-177.
[30]
G. Papastefanatos, P. Vassiliadis, A. Simitsis, Y. Vassiliou, HECATAEUS: regulating schema evolution, in: Proceedings of the 26th IEEE International Conference on Data Engineering (ICDE), 2010, pp. 1181-1184.
[31]
I. Skoulis, P. Vassiliadis, A. Zarras, Open-source databases: within, outside, or beyond Lehman's laws of software evolution? in: Proceedings of the 26th International Conference on Advanced Information Systems Engineering (CAiSE), 2014, pp. 379-393.
[32]
IEEE, Guide to the Software Engineering Body of Knowledge (v. 3.0), IEEE Computer Society, 2014, available at {http://www.computer.org/portal/web/swebok}, retrieved at 08 July 2014.
[33]
N.E. Fenton, S.L. Pfleeger, Software Metrics-A Practical and Rigorous Approach, International Thomson, Boston, MA, USA, 1996.
[34]
M.M. Lehman, J.F. Ramil, Software Evolution, in: STRL Annual Distinguished Lecture, De Montfort University, Leicester, 20 December 2001, available at {http://www.eis.mdx.ac.uk/staffpages/mml/feast2/papers.html}, {http://www.eis.mdx.ac.uk/staffpages/mml/feast2/papers/pdf/690c.pdf}, {http://www.eis.mdx.ac.uk/staffpages/mml/feast2/papers/pdf/jfr103c.pdf}
[35]
J. Fernández-Ramil, A. Lozano, M. Wermelinger, A. Capiluppi, Empirical studies of open source evolution, in: Software Evolution, 2008, pp. 263-288.

Cited By

View all
  • (2020)A Study on the Effect of a Table’s Involvement in Foreign Keys to its Schema EvolutionConceptual Modeling10.1007/978-3-030-62522-1_34(456-470)Online publication date: 3-Nov-2020
  • (2020)Do People Use Naming Conventions in SQL Programming?SOFSEM 2020: Theory and Practice of Computer Science10.1007/978-3-030-38919-2_35(429-440)Online publication date: 20-Jan-2020
  • (2019)Schema evolution and foreign keys: a study on usage, heartbeat of change and relationship of foreign keys to table activityComputing10.1007/s00607-019-00702-x101:10(1431-1456)Online publication date: 1-Oct-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Information Systems
Information Systems  Volume 53, Issue C
October 2015
385 pages

Publisher

Elsevier Science Ltd.

United Kingdom

Publication History

Published: 01 October 2015

Author Tags

  1. Lehman's laws
  2. Schema evolution
  3. Software evolution

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2020)A Study on the Effect of a Table’s Involvement in Foreign Keys to its Schema EvolutionConceptual Modeling10.1007/978-3-030-62522-1_34(456-470)Online publication date: 3-Nov-2020
  • (2020)Do People Use Naming Conventions in SQL Programming?SOFSEM 2020: Theory and Practice of Computer Science10.1007/978-3-030-38919-2_35(429-440)Online publication date: 20-Jan-2020
  • (2019)Schema evolution and foreign keys: a study on usage, heartbeat of change and relationship of foreign keys to table activityComputing10.1007/s00607-019-00702-x101:10(1431-1456)Online publication date: 1-Oct-2019
  • (2016)Open Source Software EvolutionInternational Journal of Open Source Software and Processes10.4018/IJOSSP.20160101027:1(28-48)Online publication date: 1-Jan-2016

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media