skip to main content
10.1145/1370750.1370752acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Determinism and evolution

Published:10 May 2008Publication History

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.

References

  1. 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 ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle Scholar
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarCross RefCross Ref
  12. 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 ScholarGoogle ScholarCross RefCross Ref
  13. C. F. Kemerer and S. Slaughter. An empirical approach to studying software evolution. IEEE Transactions on Software Engineering, 25(4):493--509, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle Scholar
  15. M. M. Lehman and L. A. Belady, editors. Program Evolution. Processes of Software Change. Academic Press Inc., 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. N. H. Madhavji, J. Fernandez-Ramil, and D. E. Perry, editors. Software Evolution and Feedback. Theory and Practice. Wiley, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. E. S. Raymond. The cathedral and the bazar. First Monday, 3(3), March 1998. http://www.firstmonday.dk/issues/issue3 3/raymond/.Google ScholarGoogle Scholar
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle Scholar
  23. R. H. Shumway and D. S. Stoýer. Time Series Analysis and Applications. With R Examples. Springer Texts in Statistics. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. W. M. Turski. Reference model for smooth growth of software systems. IEEE Transactions on Software Engineering, 22(8):599--600, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. W. M. Turski. The reference model for smooth growth of software systems revisited. IEEE Transactions on Software Engineering, 28(8):814--815, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. J. Wu. Open Source Software evolution and its dynamics. PhD thesis, University of Waterloo, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarCross RefCross Ref
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. C. C. H. Yuen. A statistical rationale for evolution dynamics concepts. In Proceedings of the International Conference on Software Maintenance, 1987.Google ScholarGoogle Scholar
  30. 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 ScholarGoogle Scholar

Index Terms

  1. Determinism and evolution

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        MSR '08: Proceedings of the 2008 international working conference on Mining software repositories
        May 2008
        162 pages
        ISBN:9781605580241
        DOI:10.1145/1370750

        Copyright © 2008 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 10 May 2008

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Upcoming Conference

        ICSE 2025

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader