Search Results

Now showing 1 - 10 of 15
  • Conference Object
    Citation - WoS: 2
    Object-Oriented Inheritance Metrics: Cognitive Complexity Perspective
    (Springer-verlag Berlin, 2009) Mishra, Deepti; Mishra, Alok
    Identifying high cognitive complexity modules can lead to a better quality software system and can help during maintenance also. It has been found that inheritance has an impact on cognitive complexity of a software system. In this paper, two inheritance metrics based on cognitive complexity, one at class level CCI (Class Complexity due to Inheritance) and another at program level ACI (Average Complexity of a program due to Inheritance), have been proposed for object-oriented software systems. These metrics are also compared with other well known object-oriented inheritance metrics.
  • Conference Object
    Citation - WoS: 3
    Measuring Complexity of Object Oriented Programs
    (Springer-verlag Berlin, 2008) Misra, Sanjay; Akman, Ibrahim
    In this paper, a metric for object oriented language is formulated and validated. On the contrary of the other metrics used for object oriented programming (OOPS), the proposed metric calculates the complexity of a class at method level and hence considers the internal architecture of the classes, subclasses and member functions. The proposed metric is evaluated against Weyuker's proposed set of measurement principles through examples and validated through experimentation, case study and comparative study with similar measures. The practical usefulness of the metric is evaluated by a practical framework.
  • Conference Object
    Citation - WoS: 16
    Modified Cognitive Complexity Measure
    (Springer-verlag Berlin, 2006) Misra, Sanjay
    In cognitive functional size measure, the functional size is proportional to weighted cognitive complexity of all internal BCS's and number of input and output. This paper proposes the modification in cognitive functional size complexity measure. The proposed complexity measure is proportional to total occurrence of operators and operands and all internal BCS's. The operators and operands are equally important in design consideration. Thus, the contribution of the operators, operands and cognitive aspects complete the definition of a complexity measure in terms of cognitive. Accordingly, a new formula is developed for calculating the modified cognitive complexity measure. An attempt has also been made to evaluate modified cognitive complexity measure in terms of nine Weyuker's properties, through examples. It has been found that seven of nine Weyuker's properties have been satisfied by the modified cognitive complexity measure and hence establishes as a well-structured one.
  • Article
    Citation - WoS: 4
    Document Type Definition (dtd) Metrics
    (Editura Acad Romane, 2011) Basci, Dilek; Misra, Sanjay
    In this paper, we present two complexity metrics for the assessment of schema quality written in Document Type Definition (DTD) language. Both "Entropy (E) metric: E(DTD)" and "Distinct Structured Element Repetition Scale (DSERS) metric: DSERS(DTD)" are intended to measure the structural complexity of schemas in DTD language. These metrics exploit a directed graph representation of schema document and consider the complexity of schema due to its similar structured elements and the occurrences of these elements. The empirical and theoretical validations of these metrics prove the robustness of the metrics.
  • Article
    Citation - WoS: 4
    Citation - Scopus: 5
    Object-Oriented Inheritance Metrics in the Context of Cognitive Complexity
    (Ios Press, 2011) Mishra, Deepti; Mishra, Alok
    It is important to identify modules that are fault prone or exhibit evidence of high cognitive complexity as these modules require corrective actions such as increased source code inspection, refactoring or performing more exhaustive testing. This can lead to a better quality software system. It has been found that inheritance has an impact on the cognitive complexity of a software system. In this paper, two inheritance metrics based on cognitive complexity, one at class level CCI (Class Complexity due to Inheritance) and another at program level ACI (Average Complexity of a program due to Inheritance), have been proposed for object-oriented software systems. Additionally, one more metric MC (Method Complexity) has been proposed to calculate the complexity of a method. These proposed metrics are compared with some well known object-oriented inheritance metrics by calculating their values for three random C++ programs. It has been observed that CCI and ACT are better to represent cognitive complexity due to inheritance than other well known class level and program level inheritance metrics.
  • Article
    Citation - WoS: 11
    Citation - Scopus: 16
    An Approach for the Empirical Validation of Software Complexity Measures
    (Budapest Tech, 2011) Misra, Sanjay; Computer Engineering
    Software metrics are widely accepted tools to control and assure software quality. A large number of software metrics with a variety of content can be found in the literature; however most of them are not adopted in industry as they are seen as irrelevant to needs, as they are unsupported, and the major reason behind this is due to improper empirical validation. This paper tries to identify possible root causes for the improper empirical validation of the software metrics. A practical model for the empirical validation of software metrics is proposed along with root causes. The model is validated by applying it to recently proposed and well known metrics.
  • Conference Object
    Citation - WoS: 14
    A Suite of Cognitive Complexity Metrics
    (Springer-verlag Berlin, 2012) Misra, Sanjay; Koyuncu, Murat; Crasso, Marco; Mateos, Cristian; Zunino, Alejandro
    In this paper, we propose a suite of cognitive metrics for evaluating complexity of object-oriented (OO) codes. The proposed metric suite evaluates several important features of OO languages. Specifically, the proposed metrics are to measure method complexity, message complexity (coupling), attributes complexity and class complexity. We propose also a code complexity by considering the complexity due to inheritance for the whole system. All these proposed metrics (except attribute complexity) use the cognitive aspect of the code in terms of cognitive weight. All the metrics have critically examined through theoretical and empirical validation processes.
  • Conference Object
    Citation - WoS: 12
    Citation - Scopus: 17
    An Object Oriented Complexity Metric Based on Cognitive Weights
    (Ieee Computer Soc, 2007) Misra, Sanjay
    Complexity in general is defined as "the degree to which a system or component has a design or implementation that is difficult to understand and verify". Complexity metrics are used to predict critical information about reliability and maintainability of software systems. Object oriented software development requires a different approach to software metrics. In this paper, an attempt has been made to propose a metric for an object oriented code, which calculates the complexity of a class at method level. The proposed measure considers the internal architecture of the class, subclass, and member functions, while other proposed metrics for object oriented programming do not. An attempt has also been made to evaluate and validate the proposed measure in terms of Weyuker's properties and against the principles of measurement theory. It has been found that seven of nine Weyuker's properties have been satisfied by the proposed measure. It also satisfies most of the parameters required by the measurement theory perspective, hence establishes as a well-structured one.
  • Conference Object
    Citation - Scopus: 26
    A Suite of Cognitive Complexity Metrics
    (2012) Misra,S.; Koyuncu,M.; Crasso,M.; Mateos,C.; Zunino,A.
    In this paper, we propose a suite of cognitive metrics for evaluating complexity of object-oriented (OO) codes. The proposed metric suite evaluates several important features of OO languages. Specifically, the proposed metrics are to measure method complexity, message complexity (coupling), attributes complexity and class complexity. We propose also a code complexity by considering the complexity due to inheritance for the whole system. All these proposed metrics (except attribute complexity) use the cognitive aspect of the code in terms of cognitive weight. All the metrics have critically examined through theoretical and empirical validation processes. © 2012 Springer-Verlag.
  • Article
    Citation - WoS: 3
    Citation - Scopus: 8
    New Inheritance Complexity Metrics for Object-Oriented Software Systems: an Evaluation With Weyuker's Properties
    (Slovak Acad Sciences inst informatics, 2011) Mishra, Deepti; Computer Engineering
    Two inheritance complexity metrics, one at class level CCI (Class Complexity due to Inheritance) and another at program level ACT (Average Complexity of a program due to Inheritance), have been proposed for object-oriented software systems. These proposed metrics are evaluated with Weyuker's properties and compared with other well known object-oriented inheritance metrics. It has been found that the proposed metrics better represent the complexity, due to inheritance, of a class and a program. Weyuker's property 7 (Significance of Permutation) has received a negative response regarding its applicability to object-oriented software metrics. It has been observed that this property is not satisfied by any of the object-oriented inheritance metrics proposed so far. Contrary to past beliefs, the relevance of this property to object-oriented systems has been brought out in this paper. Examples with C++ code are also presented to support the applicability of this property.