IJEM Vol. 13, No. 4, 8 Aug. 2023
Cover page and Table of Contents: PDF (size: 885KB)
Software Evolution, Lehman’s Laws, Maintenance, Software Quality
Software evolution is the process of updating a software from it’s initial phase incorporating updates taken from the users. E-type software takes feedback and requirements from the users and updates the software accordingly. In the 70’s, Lehman proposed some laws of software evolution, which are still considered as the standards of measuring software evolution. Now-a-days, E-type softwares are getting very popular as users now use softwares by giving feedback. We are measuring Lehman’s laws of software evolution for two E-type softwares, Next.js and Angular. By downloading the source codes from github repositories, we analysed the source codes and evaluated if the softwares follow Lehman’s Laws of Software Evolution or not. This analysis completes the research which aims at measuring if the softwares evolve by maintaining Lehman’s Laws.
Anika Tabassum, Ishrat Jahan Emu, Abdus Satter, "Software Evolution of Next.js and Angular", International Journal of Engineering and Manufacturing (IJEM), Vol.13, No.4, pp. 20-33, 2023. DOI:10.5815/ijem.2023.04.03
[1]S. Bhatti, A. Dewani, S. Maqbool, and M. A. Memon, “A web based approach for teaching and learning programming concepts at middle school level.” International Journal of Modern Education & Computer Science, vol. 11, no. 4, 2019.
[2]Israeli, A. and Feitelson, D.G., 2010. The Linux kernel as a case study in software evolution. Journal of Systems and Software, 83(3), pp.485-501.
[3]I. C. Nwandu, J. N. Odii, E. C. Nwokorie, and S. A. Okolie, “Evaluation of software quality in test-driven development: A perspective of measurement and metrics.”
[4]M. M. Lehman, “The past, present, and future of software evolution, in: Proceedings of frontiers of software maintenance,” European Workshop on Software Process Technology, pp. 108– 124, 1996.
[5]M. M. Lehman, "Programs, life cycles, and laws of software evolution," in Proceedings of the IEEE, vol. 68, no. 9, pp. 1060-1076, Sept. 1980, doi: 10.1109/PROC.1980.11805.
[6]“Programs, life cycles, and laws of software evolution,” Proceedings of the IEEE, 1980.
[7]M. M. Lehman, “Laws of software evolution revisited,” European Workshop on Software Process Technology. , Berlin, Heidelberg, 1996.
[8]Lehman, M.M. (1978). Programs, Cities, Students— Limits to Growth?. In: Gries, D. (eds) Programming Methodology. Texts and Monographs in Computer Science. Springer, New York, NY.
[9]D. Li, B. Guo, Y. Shen, J. Li, and Y. Huang, “The evolution of open-source mobile applications: An empirical study,” Journal of software: Evolution and process, vol. 29, no. 7, p. e1855, 2017.
[10]J. Zhang, S. Sagar, and E. Shihab, “The evolution of mobile apps: An exploratory study,” in Proceedings of the 2013 International Workshop on Software Development Lifecycle for Mobile, 2013, pp. 1–8.
[11]M. I. Lone and Z. A. Wani, “Analysis of operating systems and browsers: A usage metrics.” Trends in Information Management, vol. 7, no. 2, 2011.
[12]M. W. Godfrey and D. M. German, “On the evolution of lehman’s laws,” Journal of Software: Evolution and Process, vol. 26, no. 7, pp. 613–619, 2014.
[13]Newhook, R., Jaramillo, D., Temple, J.G. and Duke, K.J., 2015. Evolution of the mobile enterprise app: A design perspective. Procedia Manufacturing, 3, pp.2026-2033.
[14]Gonzalez‐Barahona, J.M., Robles, G., Herraiz, I. and Ortega, F., 2014. Studying the laws of software evolution in a long‐lived FLOSS project. Journal of Software: Evolution and Process, 26(7), pp.589-612.
[15]Gupta, A., Suri, B., Kumar, V. and Jain, P., 2021. Extracting rules for vulnerabilities detection with static metrics using machine learning. International Journal of System Assurance Engineering and Management, 12, pp.65-76.
[16]Kim, D.K., 2017. Finding bad code smells with neural network models. International Journal of Electrical and Computer Engineering, 7(6), p.3613.
[17]“Angular versioning and releases,” https://angular.io/guide/releases, accessed: 2010-09-30.