• DocumentCode
    858697
  • Title

    Metrics for Measuring the Quality of Modularization of Large-Scale Object-Oriented Software

  • Author

    Sarkar, Santonu ; Kak, Avinash C. ; Rama, Girish Maskeri

  • Author_Institution
    Accenture Technol. Labs., Bangalore
  • Volume
    34
  • Issue
    5
  • fYear
    2008
  • Firstpage
    700
  • Lastpage
    720
  • Abstract
    The metrics formulated to date for characterizing the modularization quality of object-oriented software have considered module and class to be synonymous concepts. But a typical class in object oriented programming exists at too low a level of granularity in large object-oriented software consisting of millions of lines of code. A typical module (sometimes referred to as a superpackage) in a large object-oriented software system will typically consist of a large number of classes. Even when the access discipline encoded in each class makes for "clean" class-level partitioning of the code, the intermodule dependencies created by associational, inheritance-based, and method invocations may still make it difficult to maintain and extend the software. The goal of this paper is to provide a set of metrics that characterize large object-oriented software systems with regard to such dependencies. Our metrics characterize the quality of modularization with respect to the APIs of the modules, on the one hand, and, on the other, with respect to such object-oriented inter-module dependencies as caused by inheritance, associational relationships, state access violations, fragile base-class design, etc. Using a two-pronged approach, we validate the metrics by applying them to popular open-source software systems.
  • Keywords
    application program interfaces; inheritance; object-oriented programming; software metrics; software quality; API; granularity; inheritance; large-scale object-oriented software; modularization quality; object-oriented intermodule dependencies; open-source software systems; synonymous concepts; Coupling; Large-Scale Software; Maintainability; Maintenance and Enhancement; Metrics/Measurement; Modules and interfaces; Object-oriented programming;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2008.43
  • Filename
    4623684