A software complexity model of object-oriented systems

Graduate School of Business, University of Colorado, Boulder, CO 80309-0419, USA
Decision Support Systems (Impact Factor: 2.31). 03/1995; 13(3):241-262. DOI: 10.1016/0167-9236(93)E0045-F


A model for the emerging area of software complexity measurement of OO systems is required for the integration of measures defined by various researchers and to provide a framework for continued investigation. We present a model, based in the literature of OO systems and software complexity for structured systems. The model defines the software complexity of OO systems at the variable, method, object, and system levels. At each level, measures are identified that account for the cohesion and coupling aspects of the system. Users of OO techniques perceptions of complexity provide support for the levels and measures.

Download full-text


Available from: David Monarchi,
  • Source
    • "Engineering (CONSEG) 15th - 17th November, 2013 @ Pune, India Copyright (c) 2013 Computer Society of India (CSI) ACM X-XXXXX- XX-X/XX/XX ...$15.00. [9], Li and Henry [12], McCabe [15], Tegarden et al. [18], Lorenz and Kidd [13] and Chidamber and Kemmerer metric [5] suite. CK metrics suite is a set of six metrics such as Weighted method per class (WMC), Depth of inheritance tree (DIT), Number of children (NOC), Coupling between objects (CBO), Response for class (RFC), and Lack of cohesion among methods (LCOM). "
    [Show abstract] [Hide abstract]
    ABSTRACT: Open source tools are coded in different languages and developed in different project management styles. Hence, the quality varies from version to version of any software. Quality can be best measured from the number of faults in the software. This paper presents an approach for fault prediction in case of Apache open source integration framework using Chidamber and Kemerer (CK) Metrics suite. Statistical evaluation (such as liner and logistic regression) and machine learning method (neural network) are used for fault prediction. The six CK Metrics were used in analyzing the framework. This paper emphasizes on performance of CK Metrics values for different versions of the Apache integration framework (AIP). The results achieved highlight the influence of CK Metrics in fault prediction
    7th International Conference on Software Engineering (CONSEG), Pune; 11/2013
  • Source
    • "Fig. 2. SQUANER Analyzer. and overridden methods and total number of methods [8]; Cyclomatic Complexity Metric (CC) [9]; numbers of hierarchical levels below a class and class-to-leaf depth [10]. The component Pattern detection is responsible for design patterns detection. "
    [Show abstract] [Hide abstract]
    ABSTRACT: Despite the large number of quality models and publicly available quality assessment tools like PMD, Checkstyle, or FindBugs, very few studies have investigated the use of quality models by developers in their daily activities. One reason for this lack of studies is the absence of integrated environments for monitoring the evolution of software quality. We propose SQUANER (Software QUality ANalyzER), a framework for monitoring the evolution of the quality of object-oriented systems. SQUANER connects directly to the SVN of a system, extracts the source code, and perform quality evaluations and faults predictions every time a commit is made by a developer. After quality analysis, a feedback is provided to developers with instructions on how to improve their code.
    Software Maintenance (ICSM), 2010 IEEE International Conference on; 10/2010
  • Source
    • "; Hitz and Montazeri 'C' connectivity of a class [12]; Lorenz and Kidd numbers of new, inherited, and overridden methods and total number of methods [18]; McCabe's Cyclomatic Complexity Metric (CC) [19]; Tegarden et al.'s numbers of hierarchical levels below a class and class-to-leaf depth [23]. The definitions of all the metrics is available on-line 1 . "
    [Show abstract] [Hide abstract]
    ABSTRACT: This work presents a descriptive and analytic study of classes playing zero, one, or two roles in six difierent design patterns (and combinations thereof). First, we answer three research questions showing that (1) play- ing roles in design patterns is not a all-or-nothing char- acteristic of classes and that there are signiflcant dif- ferences among the (2) internal and (3) external char- acteristics of classes playing zero, one, or two roles. Second, we revisit a previous work on design patterns and changeability and show that its results were, in a great part, due to classes playing two roles. Third, we exemplify the use of the study results to provide a rank- ing of the occurrences of the design patterns identifled in a program. The ranking allows developers to balance precision and recall as they see flt.
    25th IEEE International Conference on Software Maintenance (ICSM 2009), September 20-26, 2009, Edmonton, Alberta, Canada; 01/2009
Show more