Controlling the complexity of software applications is an essential part of the software development process as it directly affects maintenance activities such as reusability, understandability, modifiability and testability. However, as stated by Tom DeMarco "You cannot control what you cannot measure". Thus, over the years many complexity metrics have been proposed with the intention of controlling and minimizing the complexity associated with software. However, majority of these proposed complexity metrics are based on only one aspect of complexity. The CB measure introduced by Chhillar and Bhasin is one metric which relies on a number of complexity factors to decide on the complexity of a program. However, italso has some shortcomings and can be further improved. Thus, this paper attempts to propose some additional complexity factors that the CB measure has not considered, to further improve it. The paper also presents an extensive coverage about the software complexity metrics proposed in the literature.
Over the years a number of complexity metrics have been proposed. However, there have been only a few studies conducted to compare those proposed metrics in terms of their practical applicability. The few researches that have been conducted to assess the applicability of a complexity metric have also used the five properties proposed by Briand et al. However determining whether a complexity measure satisfies some theoretical complexity properties is not a reliable method of determining the practical applicability of it. Thus, the main intent of this study was to compare three proposed code complexity metrics: McCabe's cyclomatic complexity, Halstead's software science and Shao and Wangs' cognitive functional size and identify which metric is the most suitable metric that can be used in the current state of the art with the help of thirty programmers.
No abstract
A number of complexity metrics has been proposed in the past. However, only a few studies have been conducted to test the relationship between those proposed complexity metrics and their applicability in the real world. To identify the effectiveness and the practicality of a metric a number of evaluation frameworks have been proposed. Out of them, the frameworks proposed by Weyuker and Briand et al are the most widely used ones. The few studies that have been conducted to assess the applicability of a complexity metric have also used the five properties proposed by Briand et al. However, testing the practical applicability of a complexity metric via a theoretical framework is not sufficient enough to determine whether it can be actually useful in the real world. Hence, an attempt was taken to test the relationship between three cognitive complexity metrics: Shao and Wangs' cognitive functional size (CFS), Kushwaha and Misra cognitive information complexity measure (CICM) and Misra's cognitive weight complexity measure (CWCM) and suggest which is the best metric that can be used in the real world. Index Terms-Cognitive Weight, Cognitive Functional Size, Cognitive Information Complexity Measure, Cognitive Weight Complexity Measure L INTRODUCTION With the growth in technology most of the businesses are now being controlled by software, making the cost, schedule and quality critical concerns of businesses.Thus, the development of software has also become increasingly sophisticated over the years. Due to timely requirement many researchers have attempted to compute software complexity using various attributes such as control flow [1], operator and operand count [2], information flow [3], data flow [4], [5], identifier density [6], spatial complexity [7], [8] and cognitive complexity [9], [10], [1 [] with the intension of finding the most appropriate attribute that minimizes the development and maintenance cost associated with software. A[though, each of these proposed complexity metrics have their advantages and disadvantages, most of them are useful only in a limited environment. Thus, in addition to proposing new complexity metrics, some computer scientists and researchers have attempted to identity metrics that addresses most of the characteristics of a software program. However, only a few studies have been conducted to test the relationship between the proposed complexity metrics and their applicability in the real world. To identify the effectiveness and the practicality of a metric a number of evaluation frameworks have been proposed in the past [[2], [13], [[4], [15]. Out of them, the frameworks 978-1-4673-4463-0/13/$31.00 ©2013 IEEE 573 proposed by Weyuker [15] and Briand et a[ [12] are the most widely used ones. The nine properties proposed by Weyuker were used to test the effectiveness and comprehensiveness of complexity metrics [16] and the five properties proposed by Briand and his companions were used to test the practicality and the usefulness of them [7]. However, testing the practical applicability of...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.