Generic placeholder image

Recent Advances in Computer Science and Communications

Editor-in-Chief

ISSN (Print): 2666-2558
ISSN (Online): 2666-2566

Research Article

Complexity and Nesting Evolution in Open Source Software Systems: Experimental Study

Author(s): Mamdouh Alenezi*, Mohammad Zarour and Mohammed Akour

Volume 13, Issue 4, 2020

Page: [572 - 578] Pages: 7

DOI: 10.2174/2213275912666190204134206

Price: $65

Abstract

Background: Software complexity affects its quality; a complex software is not only difficult to read, maintain and less efficient, but it also can be less secure with many vulnerabilities. Complexity metrics, e.g. cyclomatic complexity and nesting levels, are commonly used to predict and benchmark software cost and efficiency. Complexity metrics are also used to decide if code refactoring is needed.

Objective: Software systems with high complexity need more time to develop and test and may lead to bad understandability and more errors. Nesting level in the target structure may result in developing more complex software in what is so-called the nesting problem. Nesting problem should be shortened by rewriting the code or breaking into several functional procedures.

Method: In this paper, the relationship between the nesting levels, the cyclomatic complexity, and lines of code (LOC) metrics are measured through several software releases. In order to address how strong a relationship between these factors with the nesting level, correlation coefficients are calculated. Moreover, to examine to what extent the developers are aware of and tackle the nesting problem, the evolution of nesting levels for ten releases of five open sources systems is studied to see if it is improving over successive versions or not.

Results: The result shows that the nesting level has variant effects on the cyclomatic complexity and SLOC for the five studied systems.

Conclusion: nesting level has the tendency to have a positive correlation with other factors (cyclomatic complexity and LOC).

Keywords: Software complexity, cyclomatic complexity, nesting level, evolution, open source, Lines of Code (LOC).

Graphical Abstract

[1]
T.J. McCabe . "A complexity measure". IEEE Transac Software Eng Vol. 4, SE-2, pp. 308-320,. 1976.
[2]
M.M.S. Sarwar , S. Shahzad , and I. Ahmad . "Cyclomatic complexity: The nesting problem. In Digital Information Management (ICDIM)" 2013; Eighth International Conference IEEE 2013 pp; 274-9.
[3]
M.K. Debbarma , S. Debbarma , N. Debbarma , K. Chakma , and A. Jamatia . "A review and analysis of software complexity metrics in structural testing". Int J Comp and Comm Eng Vol. 2, No. 2, pp.129, 2013.
[4]
R.R. Gonzalez, “A unified metric of software complexity: Measuring productivity, quality, and value". J Syst Software Vol. 29, No. 1, pp. 17-37, 1995.
[5]
M. Alenazi , and K. Almustafa . "Empirical analysis of the complexity evolution in open-source software systems". Int J Hyb Info Technol Vol. 8, No. 2, pp 257-266, 2015.
[6]
A. MacCormack , J. Rusnak , and C.Y. Baldwin . "Exploring the structure of complex software designs: An empirical study of open source and proprietary code". Management Sci Vol. 52, No. 7, pp. 1015-1030, 2006.
[7]
R. Subramanyam , and M.S. Krishnan . "Empirical analysis of ck metrics for objectoriented design complexity: Implications for software defects". IEEE Trans Softw Eng Vol. 29, No.4, pp. 297-310, 2003.
[8]
Y. Shin . and Laurie Williams, "An empirical model to predict security vulnerabilities using code complexity metrics." Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement. ACM, 2008, pp. 315-317.
[9]
M. Alenezi , and M. Zarour . "Software vulnerabilities detection based on security metrics at the design and code levels: empirical findings". J Eng Technol Vol. 6, No. 1, pp 570-583, 2018.
[10]
T. Zimmermann , R. Premraj , and A. Zeller . "Predicting defects for eclipse. Proceedings of the Third International Workshop on Predictor Models in Software Engineering IEEE Computer Society" 2007, pp. 9.
[11]
A. Henrique , B. Fonseca , and N. Antunes . "Software metrics and security vulnerabilities: dataset and exploratory study". Dependable Computing Conference (EDCC) 2016 12th European. IEEE, 2016.
[12]
N. Nagappan , T. Ball , and A. Zeller . "Mining Metrics to Predict Component Failures" Proceedings of the 28th International Conference on Software Engineering Association of Computing Machinery, New York, 2006, pp. 452 - 4
[13]
Y. Shin , A. Meneely , L. Williams , and J. Osbourne . "Evaluating Complexity, Code Churn, and Developer Activity Metrics as Indicators of Software Vulnerabilities". IEEE Transactions on Software Engineering Vol. 37, No. 6, pp. 772-787, 2011.
[14]
M. Lanza , and R. Marinescu . "Object-oriented metrics in practice: Using software metrics to characterize, evaluate, and improve the design of object-oriented systems". Berlin, Germany: Springer Science & Business Media 2007.
[15]
S. Burger , and O. Hummel . "Lessons learnt from gauging software metrics of cabin software in a commercial airliner". ISRN Software Engineering 2012.
[16]
I. Stamelos , L. Angelis , A. Oikonomou , and G.L. Bleris . "Code quality analysis in open source software development". Info Syst J, Vol. 12, No.1, pp. 43-60, 2002.
[17]
P. Oman , and J. Hagemeister . "Metrics for assessing a software system’s maintainability. Software Maintenance", 1992. Proceedings, Conference on IEEE 1992.
[18]
J.C. Munson , and T.M. Khoshgoftaar . "The dimensionality of program complexity". Proceedings of the 11th International Conference on Software Engineering ACM, 1989, pp. 245-253
[19]
Y. Shin , and L. Williams . "Is complexity really the enemy of software security" Proceedings of the 4th ACM workshop on Quality of protection ACM, 2008, pp. 47-50
[20]
M. D’Ambros , A. Bacchelli , and M. Lanza . "On the impact of design flaws on software defects. " Quality Software (QSIC), 2010 10th International Conference IEEE, 2010, pp. 23-31
[21]
S. Velioğlu , and Y.E. Selçuk . "An automated code smell and anti-pattern detection approach." Software Engineering Research, Management and Applications (SERA), 2017 IEEE 15th International Conference, IEEE, 2017, pp. 271-275.
[22]
S. Vidal , I. Berra , S. Zulliani , C. Marcos , and J.A.D. Pace . "Assessing the refactoring of brain methods". ACM Transac Software Eng Methodol (TOSEM), Vol. 27, No.1, pp. 1-43, 2018.
[23]
C. Wohlin , P. Runeson , M. Höst , M.C. Ohlsson , B. Regnell , and A. Wesslén . "Experimentation in software engineering". Berlin, Germany: Springer Science & Business Media 2012.

Rights & Permissions Print Cite
© 2024 Bentham Science Publishers | Privacy Policy