Investigating the Applicability of Lehman’s Laws of Software Evolution using Metrics: An Empirical Study on Open Source Software

Nicholas Drouin, Mourad Badri

2013

Abstract

This paper aims at investigating empirically the applicability of Lehman’s laws of software evolution using software metrics. We used a synthetic metric (Quality Assurance Indicator - Qi), which captures in an integrated way different object-oriented software attributes. We wanted to investigate if the Qi metric can be used to support the applicability of Lehman’s laws of software evolution. We focused on the laws related with continuing change, increasing complexity, continuing growth and declining quality. We performed an empirical analysis using historical data on two open source (Java) software systems. The collected data cover a period of more than four years (fifty-two versions) for the first system and more than seven years (thirty-one versions) for the second one. Empirical results provide evidence that the considered Lehman’s laws are supported by the collected data and the Qi metric.

References

  1. Xie, G., Chen, J., Neamtiu, I.: Towards a better understanding of software evolution: An empirical study on open source software. In: ICSM 7809 (2009) 51-60
  2. Sommerville, I.: Software engineering. 9th Edition, Addison Wesley (2010)
  3. Parnas, P.L.: Software aging. In: Proceedings of the 16th ICSE (1994) 279-287
  4. 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 Fourth International Software Metrics Symposium (1997) 20-32
  5. Lehman, M.M.: Laws of software evolution revisited. In: Lecture notes in computer science, Vol. 1149/1996 (1997) 108-124
  6. van Gurp, J., Bosch, J.: Design erosion: Problems & causes. In: Journal of Systems and Software, Vol. 61, No. 2 (2002) 105-119
  7. Zhang, H., Kim, S.: Monitoring software quality evolution for defects. In: IEEE Software, Vol. 27, No. 4 (2010) 58-64
  8. Lehman, M.M., Belady, L.A.: Program evolution: Processes of software change. Academic Press (1985)
  9. Lee, Y., Yang, J., Chang, K.H.: Metrics and evolution in open source software. In: Proceedings of the 7th QSIC (2007)
  10. Mens, T., and Demeyer, S.: Future trends in software evolution metrics. In: Proceedings of the 4th IWPSE (2001) 83-86
  11. Henderson-Sellers, B.: Object-oriented metrics - Measures of complexity. In: Prentice Hall, New Jersey (1996)
  12. Badri, M., Touré, F.: Empirical analysis for investigating the effect of control flow dependencies on testability of classes. In: 23rd International Conference on Software Engineering and Knowledge Engineering (2011)
  13. Basili, V., Briand, L., Melo, W.L.: A validation of object oriented design metrics as quality indicators. In: IEEE Transactions on Software Engineering, Vol. 22, No. 10 (1996)
  14. Briand, L.C., Wüst, J., Daly, J.W., Porter, D.V.: Exploring the relationships between design measures and software quality in object-oriented systems. In: Journal of Systems and Software (2000) 245-273
  15. Dagpinar, M., Jahnke, J.H.: Predicting maintainability with object-oriented metrics - An empirical comparison. In: Proceedings of the 10th Working Conference on Reverse Engineering (2003) 155-164
  16. Eski, S., Buzluca, F.: An empirical study on object-oriented metrics and software evolution in order to reduce testing costs by predicting change-prone classes. In: 2011 IEEE 4th Int. Conference on Software Testing, V&V Workshops (2011) 566-571
  17. Fenton, N.E., Pfleeger, S.L.: Software metrics: A rigorous & practical approach. 2nd Ed., PWS Publishing Company (1997)
  18. Murgia, A., Concas, G., Pinna, S., Tonelli, R., Turnu, I.: Empirical study of software quality evolution in open source projects using agile practices. In: CoRR, Vol. abs/0905.3287 (2009)
  19. Singh, Y., Kaur, A., Malhotra, R.: Empirical validation of object-oriented metrics for predicting fault proneness models. In: Software Quality Journal, Vol. 18, No. 1 (2010) 3-35
  20. Subramanyan, R., Krishnan, M.S.: Empirical analysis of CK metrics for object-oriented design complexity: Implications for software defects. In: IEEE Transactions on Software Engineering, Vol. 29, No. 4 (2003) 297-310
  21. Zhou, Y., Leung, H.: Empirical analysis of object-oriented design metrics for predicting high and low severity faults. In: IEEE Transactions on Software Engineering, Vol. 32, No. 10 (2006) 771-789
  22. Badri, B., Badri, L., Touré, F.: Empirical analysis of object-oriented design metrics: Towards a new metric using control flow paths and probabilities. In: Journal of Object Technology, Vol. 8, No. 6 (2009) 123-142
  23. Badri, M., Touré, F.: Evaluating the effect of control flow on the unit testing effort of classes: An empirical analysis. In: Advances in Software Engineering Journal (2012)
  24. Badri, M., Drouin, N. Touré, F.: On Understanding Software Quality Evolution from a Defect Perspective: A Case Study on an Open Source Software System. In: Proceedings of the IEEE International Conference on Computer Systems and Industrial Informatics, Sharjah, UAE, December 18-20 (2012)
  25. Drouin, N., Badri, M, Touré, F.: Metrics and Software Quality Evolution: A Case Study on Open Source Software. In: Proceedings of the 5th International Conference on Computer Science and Information Technology, Hong Kong, December 29-30 (2012)
  26. Nagappan, N., Ball, T., Zeller, A.: Mining metrics to predict component failures. In: Proceedings of the 28th International Conference on Software Engineering (ICSE 7806), ACM (2006) 452-461
  27. Ambu, W., Concas, G., Marchesi, M., Pinna, S.: Studying the evolution of quality metrics in an agile/distributed project. In: Extreme Programming and Agile Processes in Software Engineering (2006) 85-93
  28. Lehman, M.M.: On understanding laws, evolution, and conservation in the large-program life cycle. In: Journal of Systems and Software, Vol. 1, No. 3 (1980) 213-221
  29. Jermakovics, A., Scotto, M., Succi, G.: Visual identification of software evolution patterns. In: 9th International Workshop on Principles of Software Evolution (IWPSE 7807): in Conjunction with the 6th ESEC/FSE Joint Meeting (2007) 27-30
  30. Mens, T., Fernandez-Ramil, J., Degrandsart, S.: The Evolution of Eclipse. In: IEEE ICSM (2008) 386-395
  31. Yu, L., Ramaswamy, S., Nail, A.: Using bug reports as a software quality measure. In: Proceedings of the 16th ICIQ (2011)
  32. Aggarwal, K.K., Singh, Y., Kaur, A., Lalhotra, R.: Empirical analysis for investigating the effect of object-oriented metrics on fault proneness: A replicated case study. In: Software Process: Improvement and Practice, Vol. 16, No. 1 (2009)
  33. Fernandez-Ramil, J., Lozano, A., Wermelinger, M., Capiluppi, A.: Empirical studies of Open-Source Evolution. In: Mens Tom and Demeyer, Serge eds. Software Evolution. Berlin:Springer (2008) 263-288
  34. Chidamber, S.R., Kemerer, C.F.: A metric suite for object-oriented design. In: IEEE Transactions on Software Engineering, Vol. 20, No. 6 (1994) 476-493
Download


Paper Citation


in Harvard Style

Drouin N. and Badri M. (2013). Investigating the Applicability of Lehman’s Laws of Software Evolution using Metrics: An Empirical Study on Open Source Software . In Proceedings of the 1st International Workshop in Software Evolution and Modernization - Volume 1: SEM, (ENASE 2013) ISBN 978-989-8565-66-2, pages 30-44. DOI: 10.5220/0004598600300044


in Bibtex Style

@conference{sem13,
author={Nicholas Drouin and Mourad Badri},
title={Investigating the Applicability of Lehman’s Laws of Software Evolution using Metrics: An Empirical Study on Open Source Software},
booktitle={Proceedings of the 1st International Workshop in Software Evolution and Modernization - Volume 1: SEM, (ENASE 2013)},
year={2013},
pages={30-44},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004598600300044},
isbn={978-989-8565-66-2},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 1st International Workshop in Software Evolution and Modernization - Volume 1: SEM, (ENASE 2013)
TI - Investigating the Applicability of Lehman’s Laws of Software Evolution using Metrics: An Empirical Study on Open Source Software
SN - 978-989-8565-66-2
AU - Drouin N.
AU - Badri M.
PY - 2013
SP - 30
EP - 44
DO - 10.5220/0004598600300044