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

ABSTRACT 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, Sep 28, 2015
1 Follower
113 Reads
  • 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
  • Source
    • "Number of ancestors (NOA) The number of superclasses (both directly and indirectly inherited) of a class. Tegarden et al. (1995) Number of methods overridden (NMO) "
    [Show abstract] [Hide abstract]
    ABSTRACT: The importance of software measurement is increasing, leading to the development of new measurement techniques. Many metrics have been proposed related to the various object-oriented (OO) constructs like class, coupling, cohesion, inheritance, information hiding and polymorphism. The purpose of this article is to explore relationships between the existing design metrics and probability of fault detection in classes. The study described here is a replication of an analogous study conducted by Briand et al. The aim is to provide empirical evidence to draw the strong conclusions across studies. We used the data collected from Java applications for constructing a prediction model. Results of this study show that many metrics capture the same dimensions in the metric set, hence are based on comparable ideas and provides redundant information. It is shown that by using a subset of metrics prediction models can be built to identify faulty classes. The model predicts faulty classes with more than 90% accuracy. The predicted model shows that import coupling and size metrics are strongly related to fault proneness, confirming the results from previous studies. However, there are also differences reported in this study with respect to previous studies such as inheritance metric which counts methods inherited in a class is also included in the predicted model. Copyright © 2008 John Wiley & Sons, Ltd.
    Software Process Improvement and Practice 01/2009; 14(1):39-62. DOI:10.1002/spip.389
Show more