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
- 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
- Sommerville, I.: Software engineering. 9th Edition, Addison Wesley (2010)
- Parnas, P.L.: Software aging. In: Proceedings of the 16th ICSE (1994) 279-287
- 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
- Lehman, M.M.: Laws of software evolution revisited. In: Lecture notes in computer science, Vol. 1149/1996 (1997) 108-124
- van Gurp, J., Bosch, J.: Design erosion: Problems & causes. In: Journal of Systems and Software, Vol. 61, No. 2 (2002) 105-119
- Zhang, H., Kim, S.: Monitoring software quality evolution for defects. In: IEEE Software, Vol. 27, No. 4 (2010) 58-64
- Lehman, M.M., Belady, L.A.: Program evolution: Processes of software change. Academic Press (1985)
- Lee, Y., Yang, J., Chang, K.H.: Metrics and evolution in open source software. In: Proceedings of the 7th QSIC (2007)
- Mens, T., and Demeyer, S.: Future trends in software evolution metrics. In: Proceedings of the 4th IWPSE (2001) 83-86
- Henderson-Sellers, B.: Object-oriented metrics - Measures of complexity. In: Prentice Hall, New Jersey (1996)
- 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)
- 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)
- 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
- 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
- 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
- Fenton, N.E., Pfleeger, S.L.: Software metrics: A rigorous & practical approach. 2nd Ed., PWS Publishing Company (1997)
- 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)
- 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
- 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
- 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
- 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
- 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)
- 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)
- 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)
- 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
- 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
- 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
- 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
- Mens, T., Fernandez-Ramil, J., Degrandsart, S.: The Evolution of Eclipse. In: IEEE ICSM (2008) 386-395
- Yu, L., Ramaswamy, S., Nail, A.: Using bug reports as a software quality measure. In: Proceedings of the 16th ICIQ (2011)
- 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)
- 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
- 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
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