Skip to main content

Investigating Evolution in Open Source Software

  • Conference paper
  • First Online:
  • 1952 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11623))

Abstract

Lehman’s well-known laws of software evolution have existed since the early 1980’s and although they have been nuanced, augmented and discussed many times since then, software and software development practices have changed dramatically since then, not least due to the rise and popularity of open source software (OSS). OSS is written collaboratively with the process and products publically observable, whereas the original laws were derived based on a very different context. The question then arises if Lehman’s laws apply to modern day OSS software. The GitHub repository is the most comprehensive source of OSS projects and is used here to obtain data on how OSS projects have evolved. This work uses one hundred open source projects hosted on GitHub. Metrics are obtained via the provided API, using a purpose-built workbench and several of Lehman’s laws are evaluated using the data available. Coupled with a critique of how judgements can be made from the data available, the study has discovered that the evidence does not support many of the laws. An important proviso with such an approach is the limitation on what data can be extracted and/or inferred from the GitHub API. Nonetheless, there is enough of a challenge made to the laws to warrant further study and a need to revisit some of the laws in the context of open source development.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Paulson, J.W., Succi, G., Eberlein, A.: An empirical study of open-source and closed-source software products. IEEE Softw. 30, 246–256 (2004)

    Article  Google Scholar 

  2. Greer, D., Conradi, R.: Software project initiation and planning - an empirical study. IET Softw. 3(5), 356–368 (2009)

    Article  Google Scholar 

  3. Lehman, M.M.: On understanding laws, evolution, and conservation in the large-program life cycle. J. Syst. Softw. 1, 213–221 (1980)

    Article  Google Scholar 

  4. Lehman, M.M.: Laws of software evolution revisited. In: Montangero, C. (ed.) EWSPT 1996. LNCS, vol. 1149, pp. 108–124. Springer, Heidelberg (1996). https://doi.org/10.1007/BFb0017737

    Chapter  Google Scholar 

  5. Kalliamvakou, E., Gousios, G., Blincoe, K., Singer, L., German, D.M., Damian, D.: The promises and perils of mining github. In: Proceedings of 11th Working Conference on Mining Software Repositories, pp. 92–101 (2014)

    Google Scholar 

  6. GitHub Features (2019). https://github.com/features. Accessed 31 Mar 2019

  7. Gonzalez-Barahona, J.M., Robles, G., Herraiz, I., Ortega, F.: Studying the laws of software evolution in a long-lived FLOSS project. Softw. Evol. Process 26(7), 589–612 (2014)

    Article  Google Scholar 

  8. Syeed, M., Hammouda, I., Syatä, T.: Evolution of open source software projects: a systematic literature review. J. Softw. 8(11), 2815–2829 (2013)

    Article  Google Scholar 

  9. Yu, L., Mishra, A.: An empirical study of Lehman’s law on software quality evolution. Int. J. Softw. Inform. 7(3), 469–481 (2013)

    Google Scholar 

  10. Sheoran, J., Blincoe, K., Kalliamvakou, E., Damian, D., Ell, J.: Understanding ‘watchers’ on GitHub. In: Proceedings of 11th Working Conference on Mining Software Repositories, pp. 336–339 (2014)

    Google Scholar 

  11. Ben, X., Beijun, S., Weicheng, Y.: Mining developer contribution in open source software using visualization techniques. In: Proceedings of 3rd International Conference Intelligent System Design and Engineering Applications (ISDEA), pp. 934–937 (2013)

    Google Scholar 

  12. Gousios, G., Pinzger, M., van Deursen, A.: An exploratory study of the pull-based software development model. In: Proceedings of the 36th International Conference on Software Engineering, pp. 345–355 (2014)

    Google Scholar 

  13. Borges, H., Valente, M.T., Hora, A., Coelho, J.: On the Popularity of GitHub Applications: A Preliminary Note. arXiv:1507.00604 (2015). Accessed 31 Mar 2019

  14. Bissyandé, T.F.: Got issues? Who cares about it? An investigation of issue trackers of 105 projects. In: Proceedings of IEEE 24th International Symposium on Software Reliability Engineering, pp. 188–197 (2013)

    Google Scholar 

  15. Neamtiu, I., Xie, G., Chen, J.: Towards a better understanding of software evolution: an empirical study on open-source software. J. Softw. Evol. Process 25, 193–218 (2013)

    Article  Google Scholar 

  16. Skoulis, I., Vassiliadis, P., Zarras, A.: Open-source databases: within, outside, or beyond Lehman’s laws of software evolution? In: Jarke, M., et al. (eds.) CAiSE 2014. LNCS, vol. 8484, pp. 379–393. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-07881-6_26

    Chapter  Google Scholar 

  17. Israeli, A., Feitelson, D.G.: The Linux kernel as a case study in software evolution. J. Syst. Softw. 83(3), 485–501 (2010)

    Article  Google Scholar 

  18. Mens, T., Fernández-Ramil, J.: The evolution of Eclipse. In: Proceedings of International Conference Software Maintenance, pp. 386–395 (2008)

    Google Scholar 

  19. Fernandez-Ramil, J., Lozano, A., Wermelinger, M., Capiluppi, A.: Empirical studies of open source evolution. In: Mens, T., Demeyer, S. (eds.) Software Evolution, pp. 263–288. Springer, Berlin (2008). https://doi.org/10.1007/978-3-540-76440-3_11

    Chapter  Google Scholar 

  20. Stroulia, E., Kapoor, R.: Metrics of refactoring-based development: an experience report. In: Wang, X., Johnston, R., Patel, S. (eds.) OOIS, pp. 113–122. Springer, Heidelberg (2001). https://doi.org/10.1007/978-1-4471-0719-4_13

    Chapter  Google Scholar 

  21. Graylin, J., Hale, J., Smith, R.K., Hale, D., Kraft, N.A., Ward, C.: Cyclomatic complexity and lines of code: empirical evidence of a stable linear relationship. J. Softw. Eng. Appl. 2(3), 137–143 (2009)

    Article  Google Scholar 

  22. La, A.: Language Trends on GitHub. https://github.com/blog/2047-language-trends-on-github. Accessed 31 Mar 2019

  23. RFoundation: The R Project for Statistical Computing. https://www.r-project.org/. Accessed 31 Mar 2019

  24. McGee, S., Greer, D.: A software requirements change source taxonomy. In: 4th International Conference on Software Engineering Advances, ICSEA 2009, Includes SEDES 2009: Simposio para Estudantes de Doutoramento em Engenharia de Software (2009)

    Google Scholar 

  25. McGee, S., Greer, D.: Towards an understanding of the causes and effects of software requirements change: two case studies. Requir. Eng. 17(2), 133–155 (2012)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Des Greer .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

McDonald, J., Greer, D. (2019). Investigating Evolution in Open Source Software. In: Misra, S., et al. Computational Science and Its Applications – ICCSA 2019. ICCSA 2019. Lecture Notes in Computer Science(), vol 11623. Springer, Cham. https://doi.org/10.1007/978-3-030-24308-1_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-24308-1_20

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-24307-4

  • Online ISBN: 978-3-030-24308-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics