Abstract
The study aims at investigating empirically the applicability of Lehman’s laws of software evolution. We used a synthetic metric (Quality Assurance Indicator), which captures in an integrated way various object-oriented software attributes. The goal was to explore if the metric can be used to support the applicability of Lehman’s laws of software evolution. We focused on five laws: continuing change, increasing complexity, self-regulation, continuing growth anddeclining quality. We performed an empirical analysis using historical data collected on two open source (Java) software systems. Empirical results provide evidence that the considered Lehman’s laws are supported by the collected data and the metric.
Keywords
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Xie, G., Chen, J., Neamtiu, I.: Towards a better understanding of software evolution: An empirical study on open source software. In: ICSM 2009, pp. 51–60 (2009)
Sommerville, I.: Software engineering, 9th edn. Addison Wesley (2010)
Parnas, P.L.: Software aging. In: Proceedings of the 16th ICSE, pp. 279–287 (1994)
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, pp. 20–32 (1997)
Lehman, M.M.: Laws of software evolution revisited. In: Montangero, C. (ed.) EWSPT 1996. LNCS, vol. 1149, pp. 108–124. Springer, Heidelberg (1996)
van Gurp, J., Bosch, J.: Design erosion: Problems & causes. Journal of Systems and Software 61(2), 105–119 (2002)
Zhang, H., Kim, S.: Monitoring software quality evolution for defects. IEEE Software 27(4), 58–64 (2010)
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., Demeyer, S.: Future trends in software evolution metrics. In: Proceedings of the 4th IWPSE, pp. 83–86 (2001)
Henderson-Sellers, B.: Object-oriented metrics – Measures of complexity. 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. IEEE Transactions on Software Engineering 22(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. Journal of Systems and Software, 245–273 (2000)
Dagpinar, M., Jahnke, J.H.: Predicting maintainability with object-oriented metrics – An empirical comparison. In: Proceedings of the 10th Working Conference on Reverse Engineering, pp. 155–164 (2003)
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, pp. 566–571 (2011)
Fenton, N.E., Pfleeger, S.L.: Software metrics: A rigorous & practical approach, 2nd edn. 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. Software Quality Journal 18(1), 3–35 (2010)
Subramanyan, R., Krishnan, M.S.: Empirical analysis of CK metrics for object-oriented design complexity: Implications for software defects. IEEE Transactions on Software Engineering 29(4), 297–310 (2003)
Zhou, Y., Leung, H.: Empirical analysis of object-oriented design metrics for predicting high and low severity faults. IEEE Transactions on Software Engineering 32(10), 771–789 (2006)
Badri, M., Badri, L., Touré, F.: Empirical analysis of object-oriented design metrics: Towards a new metric using control flow paths and probabilities. Journal of Object Technology 8(6), 123–142 (2009)
Badri, M., Touré, F.: Evaluating the effect of control flow on the unit testing effort of classes: An empirical analysis. 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 2006), pp. 452–461. ACM (2006)
Ambu, W., Concas, G., Marchesi, M., Pinna, S.: Studying the evolution of quality metrics in an agile/Distributed project. In: Abrahamsson, P., Marchesi, M., Succi, G. (eds.) XP 2006. LNCS, vol. 4044, pp. 85–93. Springer, Heidelberg (2006)
Lehman, M.M.: On understanding laws, evolution, and conservation in the large-program life cycle. Journal of Systems and Software 1(3), 213–221 (1980)
Jermakovics, A., Scotto, M., Succi, G.: Visual identification of software evolution patterns. In: 9th International Workshop on Principles of Software Evolution (IWPSE 2007): in Conjunction with the 6th ESEC/FSE Joint Meeting, pp. 27–30 (2007)
Mens, T., Fernandez-Ramil, J., Degrandsart, S.: The Evolution of Eclipse. In: IEEE ICSM, pp. 386–395 (2008)
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. Software Process: Improvement and Practice 16(1) (2009)
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)
Chidamber, S.R., Kemerer, C.F.: A metric suite for object-oriented design. IEEE Transactions on Software Engineering 20(6), 476–493 (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Drouin, N., Badri, M. (2013). Investigating the Applicability of the Laws of Software Evolution: A Metrics Based Study. In: Filipe, J., Maciaszek, L.A. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2013. Communications in Computer and Information Science, vol 417. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-54092-9_13
Download citation
DOI: https://doi.org/10.1007/978-3-642-54092-9_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-54091-2
Online ISBN: 978-3-642-54092-9
eBook Packages: Computer ScienceComputer Science (R0)