ABSTRACT
It has been proposed that software evolution follows a Self-Organized Criticality (SOC) dynamics. This fact is supported by the presence of long range correlations in the time series of the number of changes made to the source code over time. Those long range correlations imply that the current state of the project was determined time ago. In other words, the evolution of the software project is governed by a sort of determinism. But this idea seems to contradict intuition. To explore this apparent contradiction, we have performed an empirical study on a sample of 3, 821 libre (free, open source) software projects, finding that their evolution projects is short range correlated. This suggests that the dynamics of software evolution may not be SOC, and therefore that the past of a project does not determine its future except for relatively short periods of time, at least for libre software.
- I. Antoniades, I. Samoladas, I. Stamelos, L. Aggelis, and G. L. Bleris. Dynamical simulation models of the Open Source development process. In S. Koch, editor, Free/Open Source Software Development, pages 174--202. Idea Group Publishing, Hershey, PA, 2004.Google Scholar
- G. Antoniol, G. Casazza, M. D. Penta, and E. Merlo. Modeling clones evolution through time series. In Proceedings of the International Conference on Software Maintenance, 2001. Google ScholarDigital Library
- K. Beecher, C. Boldyreý, A. Capiluppi, and S. Rank. Evolutionary success of open source software: an investigation into exogenous drivers. In Third International ERCIM Symposium on Software Evolution. ERCIM, 2007.Google Scholar
- A. Capiluppi and M. Michlmayr. Open Source development, adoption and innovation, chapter From the Cathedral to the Bazaar: An Empirical Study of the Lifecycle of Volunteer Community Projects, pages 31--44. IFIP: International Federation for Information Processing. Springer Boston, 2007.Google Scholar
- F. Caprio, G. Casazza, M. D. Penta, and U. Villano. Measuring and predicting the Linux kernel evolution. In Proceedings of the International Workshop of Empirical Studies on Software Maintenance, Florence, Italy, 2001.Google Scholar
- J.-M. Dalle and P. A. David. The allocation of software development resources in Open Source production mode. Technical report, SIEPR Policy paper No. 02-027, SIEPR, Stanford, USA, 2003. http://siepr.stanford.edu/papers/pdf/02-27.pdf.Google Scholar
- A. R. Fasolino, D. Natale, A. Poli, and A. Alberigi-Quaranta. Metrics in the development and maintenance of software: an application in a large scale environment. Journal of Software Maintence: Research and Practice, 12:343--355, 2000. Google ScholarDigital Library
- M. Godfrey and Q. Tu. Evolution in Open Source software: A case study. In Proceedings of the International Conference on Software Maintenance, pages 131--142, San Jose, California, 2000. Google ScholarDigital Library
- M. Godfrey and Q. Tu. Growth, evolution, and structural change in open source software. In Internation Workshop on Principles of Software Evolution, Vienna, Austria, September 2001. Google ScholarDigital Library
- I. Herraiz, J. M. Gonzalez-Barahona, and G. Robles. Forecasting the number of changes in Eclipse using time series analysis. In International Workshop on Mining Software Repositories. IEEE Computer Society, 2007. Google ScholarDigital Library
- I. Herraiz, J. M. Gonzalez-Barahona, G. Robles, and D. M. German. On the prediction of the evolution of libre software projects. In IEEE International Conference on Software Maintenance, pages 405--414. IEEE Computer Society, 2007.Google ScholarCross Ref
- J. Howison, M. Conklin, and K. Crowston. FLOSSMole: a collaborative repository for FLOSS research data and analyses. International Journal of Information Technology and Web Engineering, 1(3):17--26, July-September 2006.Google ScholarCross Ref
- C. F. Kemerer and S. Slaughter. An empirical approach to studying software evolution. IEEE Transactions on Software Engineering, 25(4):493--509, 1999. Google ScholarDigital Library
- S. Koch. Evolution of Open Source Software systems - a large-scale investigation. In Proceedings of the 1st International Conference on Open Source Systems, Genova, Italy, July 2005.Google Scholar
- M. M. Lehman and L. A. Belady, editors. Program Evolution. Processes of Software Change. Academic Press Inc., 1985. Google ScholarDigital Library
- M. M. Lehman, J. F. Ramil, and U. Sandler. An approach to modelling long-term growth trends in software systems. In Internation Conference on Software Maintenance, pages 219--228, Florence, Italy, November 2001. Google ScholarDigital Library
- M. M. Lehman, J. F. Ramil, P. D. Wernick, D. E. Perry, and W. M. Turski. Metrics and laws of software evolution - the nineties view. In METRICS '97: Proceedings of the 4th International Symposium on Software Metrics, page 20, nov 1997. Google ScholarDigital Library
- N. H. Madhavji, J. Fernandez-Ramil, and D. E. Perry, editors. Software Evolution and Feedback. Theory and Practice. Wiley, 2006. Google ScholarDigital Library
- Y. Peng, F. Li, and A. Mili. Modeling the evolution of operating systems: An empirical study. The Journal of Systems and Software, 80(1):1--15, 2007. Google ScholarDigital Library
- E. S. Raymond. The cathedral and the bazar. First Monday, 3(3), March 1998. http://www.firstmonday.dk/issues/issue3 3/raymond/.Google Scholar
- G. Robles, J. J. Amor, J. M. Gonzalez-Barahona, and I. Herraiz. Evolution and growth in large libre software projects. In Proceedings of the International Workshop on Principles in Software Evolution, pages 165--174, Lisbon, Portugal, September 2005. Google ScholarDigital Library
- G. Robles, J. J. Merelo, and J. M. Gonzalez-Barahona. Self-organized development in libre software: a model based on the stigmergy concept. In Proceedings of the 6th International Workshop on Software Process Simulation and Modeling (ProSim 2005), St.Louis, Missouri, USA, May 2005.Google Scholar
- R. H. Shumway and D. S. Stoýer. Time Series Analysis and Applications. With R Examples. Springer Texts in Statistics. Springer, 2006. Google ScholarDigital Library
- W. M. Turski. Reference model for smooth growth of software systems. IEEE Transactions on Software Engineering, 22(8):599--600, 1996. Google ScholarDigital Library
- W. M. Turski. The reference model for smooth growth of software systems revisited. IEEE Transactions on Software Engineering, 28(8):814--815, 2002. Google ScholarDigital Library
- J. Wu. Open Source Software evolution and its dynamics. PhD thesis, University of Waterloo, 2006. Google ScholarDigital Library
- J. Wu, R. Holt, and A. E. Hassan. Empirical evidence for SOC dynamics in software evolution. In IEEE International Conference on Software Maintenance, pages 244--254. IEEE Computer Society, 2007.Google ScholarCross Ref
- C. C. H. Yuen. An empirical approach to the study of errors in large software under maintenance. In Proceedings of the International Conference on Software Maintenance, 1985. Google ScholarDigital Library
- C. C. H. Yuen. A statistical rationale for evolution dynamics concepts. In Proceedings of the International Conference on Software Maintenance, 1987.Google Scholar
- C. C. H. Yuen. On analyzing maintenance process data at the global and detailed levels. In Proceedings of the International Conference on Software Maintenance, pages 248--255, 1988.Google Scholar
Index Terms
- Determinism and evolution
Recommendations
Software evolution: background, theory, practice
Special issue: Contribution to computing scienceThis paper opens with a brief summary of some 30 years of study of the software evolution phenomenon. The results of those studies include the SPE program classification, a principle of software uncertainty and laws of E-type software evolution. The ...
A Systematic Review of Studies of Open Source Software Evolution
APSEC '10: Proceedings of the 2010 Asia Pacific Software Engineering ConferenceSoftware evolution relates to how software systems evolve over time. With the emergence of the open source paradigm, researchers are provided with a wealth of data for open source software evolution analysis. In this paper, we present a systematic ...
Modeling software evolution defects: a time series approach
The Department of Information Systems, Statistics and Management Science, prediction of software defects and defect patterns is and will continue to be a critically important software evolution research topic. This study presents a time series analysis ...
Comments