Dynamic coupling measurement for object-oriented software

被引:173
|
作者
Arisholm, E [1 ]
Briand, LC
Foyen, A
机构
[1] Simula Res Lab, Dept Software Engn, Lysaker, Norway
[2] Carleton Univ, Softwazre Qual Engn Lab, Ottawa, ON, Canada
基金
加拿大自然科学与工程研究理事会;
关键词
coupling measurement; change predictions; quality modeling; maintenance;
D O I
10.1109/TSE.2004.41
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The relationships between coupling and external quality factors of object-oriented software have been studied extensively for the past few years. For example, several studies have identified clear empirical relationships between class-level coupling and class fault-proneness. A common way to define and measure coupling is through structural properties and static code analysis. However, because of polymorphism, dynamic binding, and the common presence of unused ("dead") code in commercial software, the resulting coupling measures are imprecise as they do not perfectly reflect the actual coupling taking place among classes at runtime. For example, when using static analysis to measure coupling, it is difficult and sometimes impossible to determine what actual methods can be invoked from a client class if those methods are overridden in the subclasses of the server classes. Coupling measurement has traditionally been performed using static code analysis, because most of the existing work was done on nonobject oriented code and because dynamic code analysis is more expensive and complex to perform. For modern software systems, however, this focus on static analysis can be problematic because although dynamic binding existed before the advent of object-orientation, its usage has increased significantly in the last decade. This paper describes how coupling can be defined and precisely measured based on dynamic analysis of systems. We refer to this type of coupling as dynamic coupling. An empirical evaluation of the proposed dynamic coupling measures is reported in which we study the relationship of these measures with the change proneness of classes. Data from maintenance releases of a large Java system are used for this purpose. Preliminary results suggest that some dynamic coupling measures are significant indicators of change proneness and that they complement existing coupling measures based on static analysis.
引用
收藏
页码:491 / 506
页数:16
相关论文
共 50 条
  • [31] Design and implementation of a practical object-oriented software measurement tool
    Gao, Peng
    Huang, Zhi-Qiu
    Zhang, Ding-Hui
    Zuo, Yin-Long
    Liu, Xue-Tao
    Xiaoxing Weixing Jisuanji Xitong/Mini-Micro Systems, 2002, 23 (12):
  • [32] Incremental construction of dynamic models for object-oriented software systems
    Systa, Tarja
    JOOP - Journal of Object-Oriented Programming, 2000, 13 (05): : 18 - 27
  • [33] A scheme for dynamic detection of concurrent execution of object-oriented software
    Chen, HY
    Sun, YX
    Tse, TH
    2003 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN AND CYBERNETICS, VOLS 1-5, CONFERENCE PROCEEDINGS, 2003, : 4828 - 4833
  • [34] Incremental construction of dynamic models for object-oriented software systems
    Systä, T
    JOOP-JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 2000, 13 (05): : 18 - 27
  • [35] Analysis of high structural class coupling in object-oriented software systems
    Savic, Milos
    Ivanovic, Mirjana
    Radovanovic, Milos
    COMPUTING, 2017, 99 (11) : 1055 - 1079
  • [36] Applying intelligent data analysis to coupling relationships in object-oriented software
    Counsell, S
    Liu, XH
    Najjar, R
    Swift, S
    Tucker, A
    ADVANCES IN INTELLIGENT DATA ANALYSIS V, 2003, 2810 : 440 - 450
  • [37] A Simple Model for Reasoning about Limits on Coupling in Object-Oriented Software
    Melton, Hayden
    2020 10TH ANNUAL COMPUTING AND COMMUNICATION WORKSHOP AND CONFERENCE (CCWC), 2020, : 163 - 168
  • [38] Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study
    Tiwari, Saurabh
    Rathore, Santosh Singh
    ISEC'18: PROCEEDINGS OF THE 11TH INNOVATIONS IN SOFTWARE ENGINEERING CONFERENCE, 2018,
  • [39] Applying coupling and cohesion concepts in object-oriented software: a controlled experiment
    de Oliveira Moreira, Gabriel Yago
    Macedo Santos, Jose Amancio
    PROCEEDINGS OF THE 19TH BRAZILIAN SYMPOSIUM ON SOFTWARE QUALITY, SBOS 2020, 2020,
  • [40] Analysis of high structural class coupling in object-oriented software systems
    Miloš Savić
    Mirjana Ivanović
    Miloš Radovanović
    Computing, 2017, 99 : 1055 - 1079