Skip to main content

Evaluating Lehman’s Laws of Software Evolution within Software Product Lines: A Preliminary Empirical Study

  • Conference paper
Book cover Software Reuse for Dynamic Systems in the Cloud and Beyond (ICSR 2015)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8919))

Included in the following conference series:

Abstract

The evolution of a single system is a task where we deal with the modification of a single product. Lehman’s laws of software evolution were broadly evaluated within this type of systems and the results shown that these single systems evolve according to his stated laws over time. However, when dealing with Software Product Lines (SPL), we need to deal with the modification of several products which include common, variable and product specific assets. Because of the several assets within SPL, each stated law may have a different behavior for each asset kind. Nonetheless, we do not know if the stated laws are still valid for SPL since they were not yet evaluated in this context. Thus, this paper details an empirical investigation where four of the Lehman’s Laws (LL) of Software Evolution were used in an SPL industrial project to understand how the SPL assets evolve over time. This project relates to an application in the medical domain developed in a medium-size company in Brazil. It contains 45 modules and a total of 70.652 bug requests in the tracking system, gathered along the past 10 years. We employed two techniques - the KPSS Test and linear regression analysis, to assess the relationship between LL and SPL assets. Finally, results showed that three laws were supported based on the data employed (continuous change, increasing complexity, and declining quality). The other law (continuing growth) was partly supported, depending on the SPL evaluated asset (common, variable or product-specific).

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

Access this chapter

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 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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Mens, T., Demeyer, S.: Software Evolution. Springer (2008)

    Google Scholar 

  2. Lehman, M.: Programs, life cycles, and laws of software evolution. Journal Proceedings of the IEEE 68, 1060–1076 (1980)

    Article  Google Scholar 

  3. Barry, E.J., Kemerer, C.F., Slaughter, S.A.: How software process automation affects software evolution: A longitudinal empirical analysis: Research articles. Journal of Software Maintenance and Evolution: Research and Practice 19, 1–31 (2007)

    Article  Google Scholar 

  4. Cook, S., Harrison, R., Lehman, M.M., Wernick, P.: Evolution in software systems: foundations of the SPE classification scheme. Journal of Software Maintenance 18, 1–35 (2006)

    Article  Google Scholar 

  5. Clements, P.C., Northrop, L.: Software Product Lines: Practices and Patterns. In: SEI Series in Software Engineering. Addison-Wesley (2001)

    Google Scholar 

  6. Schmid, K.: A comprehensive product line scoping approach and its validation. In: Proceedings of the 24th International Conference on Software Engineering (ICSE), pp. 593–603. ACM, New York (2002)

    Google Scholar 

  7. Ajila, S., Kaba, A.: Using traceability mechanisms to support software product line evolution. In: Proceedings of the IEEE International Conference on Information Reuse and Integration (IRI), pp. 157–162. IEEE (2004)

    Google Scholar 

  8. Bailetti, A., Ajila, S., Dumitrescu, R.: Experience report on the effect of market reposition on product line evolution. In: Proceedings of the IEEE International Conference on Information Reuse and Integration (IRI), pp. 151–156. IEEE (2004)

    Google Scholar 

  9. Svahnberg, M., Bosch, J.: Evolution in software product lines: Two cases. Journal of Software Maintenance and Evolution: Research and Practice 11, 391–422 (1999)

    Article  Google Scholar 

  10. Israeli, A., Feitelson, D.G.: The linux kernel as a case study in software evolution. Journal of Systems and Software 83, 485–501 (2010)

    Article  Google Scholar 

  11. Lotufo, R., She, S., Berger, T., Czarnecki, K., Wąsowski, A.: Evolution of the linux kernel variability model. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 136–150. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  12. Godfrey, M.W., Tu, Q.: Evolution in open source software: A case study. In: IEEE International Conference on Software Maintenance (ICSM), pp. 131–142. IEEE Computer Society, Washington (2000)

    Google Scholar 

  13. Xie, G., Chen, J., Neamtiu, I.: Towards a better understanding of software evolution: An empirical study on open source software. In: IEEE International Conference on Software Maintenance (ICSM), pp. 51–60. IEEE (2009)

    Google Scholar 

  14. Jedlitschka, A., Ciolkowski, M., Pfahl, D.: Reporting experiments in software engineering. In: Shull, F., Singer, J., Sjboerg, D.I.K. (eds.) Guide to Advanced Empirical Software Engineering, pp. 201–228. Springer, London (2008)

    Chapter  Google Scholar 

  15. Marciniak, J.J.: Encyclopedia of Software Engineering. In: Basili, V.R., Caldiera, G., Rombach, H.D. (eds.) Goal Question Metric Approach 2, pp. 528–532. Wiley-Interscience, Hoboken (1994)

    Google Scholar 

  16. Kemerer, C., Slaughter, S.: An empirical approach to studying software evolution. Journal IEEE Transactions on Software Engineering (TSE) 25, 493–509 (1999)

    Article  Google Scholar 

  17. Lehman, M.M., Ramil, J.F., Wernick, P.D., Perry, D.E., Turski, W.M.: Metrics and laws of software evolution - the nineties view. In: Proceedings of the 4th International Symposium on Software Metrics, pp. 20–32. IEEE Computer Society, Washington (1997)

    Chapter  Google Scholar 

  18. McCabe, T.J.: A complexity measure. IEEE Transactions on Software Engineering (TSE) 2, 308–320 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  19. Kan, S.H.: Metrics and Models in Software Quality Engineering. Addison-Wesley, Boston (2002)

    Google Scholar 

  20. Gupta, A., Cruzes, D., Shull, F., Conradi, R., Rønneberg, H., Landre, E.: An examination of change profiles in reusable and non-reusable software systems. Journal of Software Maintenance and Evolution: Research and Practice 22, 359–380 (2010)

    Google Scholar 

  21. Lientz, B.P., Swanson, B.E.: Software Maintenance Management: A Study of the Maintenance of Computer Application Software in 487 Data Processing Organizations. Addison-Wesley (1980)

    Google Scholar 

  22. Kwiatkowski, D., Phillips, P.C.B., Schmidt, P., Shin, Y.: Testing the null hypothesis of stationarity against the alternative of a unit root: How sure are we that economic time series have a unit root? Journal of Econometrics 54, 159–178 (1992)

    Article  MATH  Google Scholar 

  23. Yan, X., Su, X.G.: Linear Regression Analysis: Theory and Computing. World Scientific Publishing, River Edge (2009)

    Book  Google Scholar 

  24. Deelstra, S., Sinnema, M., Nijhuis, J., Bosch, J.: Cosvam: a technique for assessing software variability in software product families. In: 20th IEEE International Conference on Software Maintenance (ICSM), pp. 458–462. IEEE (2004)

    Google Scholar 

  25. Mende, T., Beckwermert, F., Koschke, R., Meier, G.: Supporting the grow-and-prune model in software product lines evolution using clone detection. In: 12th European Conference on Software Maintenance and Reengineering (CSMR), pp. 163–172. IEEE (2008)

    Google Scholar 

  26. McGregor, J.D.: The evolution of product line assets. Technical Report, Software Engineering Institute, CMU/SEI-2003-TR-005 (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

de Oliveira, R.P., de Almeida, E.S., da Silva Gomes, G.S. (2014). Evaluating Lehman’s Laws of Software Evolution within Software Product Lines: A Preliminary Empirical Study. In: Schaefer, I., Stamelos, I. (eds) Software Reuse for Dynamic Systems in the Cloud and Beyond. ICSR 2015. Lecture Notes in Computer Science, vol 8919. Springer, Cham. https://doi.org/10.1007/978-3-319-14130-5_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-14130-5_4

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-14129-9

  • Online ISBN: 978-3-319-14130-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics