Open Access Open Access  Restricted Access Subscription Access

Development of an Enhanced Automated Software Complexity Measurement System

Sanusi B.A., Olabiyisi S.O., Afolabi A.O., Olowoye, A.O.

Abstract


Code Complexity measures can simply be used to predict critical information about reliability, testability, and maintainability of software systems from the automatic measurement of the source code. The existing automated code complexity measurement is performed using a commercially available code analysis tool called QA-C for the code complexity of C-programming language which runs on Solaris and does not measure the defect-rate of the source code. Therefore, this paper aimed at developing an enhanced automated system that evaluates the code complexity of C-family programming languages and computes the defect rate. The existing code-based complexity metrics: Source Lines of Code metric, McCabe Cyclomatic Complexity metrics and Halstead Complexity Metrics were studied and implemented so as to extend the existing schemes.

The developed system was built following the procedure of waterfall model that involves: Gathering requirements, System design, Development coding, Testing, and Maintenance. The developed system was developed in the Visual Studio Integrated Development Environment (2019) using C-Sharp (C#) programming language, .NET framework and MYSQL Server for database design. The performance of the system was tested efficiently using a software testing technique known as Black-box testing to examine the functionality and quality of the system. The results of the evaluation showed that the system produced functionality of 100, 100, 75, 75, and 100 %, and quality of 100, 100, 75, 75, and 100 % for the source code written in C++, C, Python, C# and JavaScript programming languages respectively. Hence, the tool helped software developers to view the quality of their code in terms of code metrics. Also, all data concerning the measured source code was well documented and stored for maintenance and functionality in the possibility of future development.

Full Text:

PDF

References


Bansiya, J. (2000). A Hierarchical Model for Object-Oriented Design Quality Assessment. IEEE Transactions on Software Engineering.2000.28(1):4-17p.

Bhatti, H. R. (2010). An Automatic Measurement of Source Code Complexity. Master’s Thesis, Department of Computer Science, Electrical and Space Engineering, Lulea University of Technology.2010:1-14p.

Borchert, T. (2008). Code Profiling: Static Code Analysis. Master’s Thesis, Department of Computer Science, Karlstad University, Sweden.2008:12-16p.

Chandra, E., Linda, P. and Edith, A. (2010). Class Break Point Determination Using CK

Metrics Thresholds, Global Journal of Computer Science and Technology.2010.10(14):73-77p.

Chidamber, S. R. and Kemerer, C. F. (1994). A metrics suite for the object-oriented design. IEEE Transactions on Software Engineering.1994.20 (6):476-498p.

Halstead, M. (1977). The Elements of Software Science, Operating and Programming Systems Series, Elservier Computer Science Library North Holland N. Y. Elsevier North-Holland, Inc. ISBN 0-444-00205-7.1977:1–6p.

Jay, G., Hale, J. E., Smith, R. K., Hale, D., Kraf, N. A. and Ward, C. (2009). Cyclomatic complexity metric and lines of code: Empirical evidence of a stable linear relationship, J. Software Engineering & Applications.2009:7p.

Jetter, A. (2006). Assessing Software Quality Attributes with Source Code Metrics. Diploma Thesis, Department of Informatics, University of Zurich. 2006:45-48p

John Spacey (2017). How Defect Rate is Calculated. https://simplicable.com/new/defect-rate.

Lincke, R., Lundberg, J. and Löwe, W. (2008). Comparing software metrics tools. In Proceedings of the 2008 International Symposium on Software Testing and Analysis. ISSTA’08. 131–142p. New York, NY:ACM.


Refbacks

  • There are currently no refbacks.