ResearchBib Share Your Research, Maximize Your Social Impacts
Sign for Notice Everyday Sign up >> Login

A Comparative Analysis of Complexity of C++ and Python Programming Languages Using Multi-Paradigm Complexity Metric (MCM)

Journal: International Journal of Science and Research (IJSR) (Vol.8, No. 1)

Publication Date:

Authors : ; ;

Page : 1832-1837

Keywords : Basic Control Structure; Cyclomatic Complexity Measure; Complexity of Distinct Class; Complexity of Inherited Class; Halstead Complexity Measure; Procedural Complexity; Multi-paradigm Code;

Source : Downloadexternal Find it from : Google Scholarexternal

Abstract

Software complexity metrics have used to quantify different types of software properties such as cost, effort, time, maintainability, understanding and reliability. The existing metrics considered limited factors that affect software complexity, but do not consider the characteristics that affect complexity of multi-paradigm languages. In this work, a Multi-paradigm Complexity Metric (MCM) for measuring software complexity was developed for multi-paradigm codes. Multi-paradigm languages that were considered in this work are C++ and Python, these two languages combine the features of procedural and object oriented paradigms, therefore this research began with investigation of factors that affect the complexity of procedural code and object oriented code, so that the developed metric could be used not only for procedural code, but also either object oriented codes or in more general for multi-paradigm codes. The developed metric was then applied on sample programs written in most popular programming languages such as Python and C++, and the result of the developed metric was further evaluated with other existing complexity metrics like effective line of code (eLOC), cyclomatic complexity metric and Halstead complexity measures. The study showed that the developed complexity metric have significant comparison with the existing complexity metrics and can be used to rank numerous programs and difficulties of various modules.

Last modified: 2021-06-28 17:20:55