Predicting object-oriented class reuse-proneness using internal quality attributes

被引:20
作者
Al Dallal, Jehad [1 ]
Morasca, Sandro [2 ]
机构
[1] Kuwait Univ, Dept Informat Sci, Safat 13060, Kuwait
[2] Univ Insubria, Dept Theoret & Appl Sci, I-22100 Como, Italy
关键词
Internal and external quality attributes; Quality measures; Class cohesion; Class coupling; Class size; Class reuse-proneness; Object-oriented software; Inheritance; Instantiation; PRACT.-EXPER; 2000; CLASS COHESION; FAULT PREDICTION; METRICS SUITE; SOFTWARE; CHAE; HEUNG; SEOK; KWON; YONG; RAE; REUSABILITY;
D O I
10.1007/s10664-012-9239-3
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Class reuse-proneness is the likelihood that a class can be reused and is a key quality characteristic in object-oriented design. Because it is clearly impossible to know with certainty when, where, how, and how often a class will be reused, this likelihood can only be estimated when a class is developed. At that stage, the internal quality attributes of a class such as cohesion, coupling, and size can be measured. In this paper, we empirically study the ability of 29 internal class quality measures, individually and in combination, to estimate class reuse-proneness. Specifically, we take into account both class inheritance and class instantiation, which are two ways in which a class can be reused. Our results show that most of the considered measures are predictors for the considered reuse-proneness attributes to some degree. The capability of the considered internal quality measures to predict class reuse-proneness is enhanced when the measures are combined using an optimized multivariate statistical model. The results also show that the size and coupling attributes of a class have positive impacts on its reuse-proneness via inheritance and instantiation. The cohesion of a class has a negative impact on its inheritance reuse-proneness and a positive impact on its instantiation reuse-proneness. The overall results of the empirical study show that software developers can use a number of predictors to assess the reuse-proneness of classes and possibly improve the reuse-proneness of the classes by controlling their internal quality attributes. Our results contribute to the evaluation of the quality of a class, but a comprehensive evaluation of the quality of a class should take into account many more qualities. Also, not all classes in a software system are built with reuse-proneness in mind, so our results should be applied only to those that are designed and implemented to be reusable.
引用
收藏
页码:775 / 821
页数:47
相关论文
共 72 条
[1]  
ABREU FBE, 1994, J SYST SOFTWARE, V26, P87, DOI 10.1016/0164-1212(94)90099-X
[2]   Software reuse metrics for object-oriented systems [J].
Aggarwal, KK ;
Singh, Y ;
Kaur, A ;
Malhotra, R .
THIRD ACIS INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING RESEARCH, MANAGMENT AND APPLICATIONS, PROCEEDINGS, 2005, :48-+
[3]   Software similarity-based functional cohesion metric [J].
Al Dallal, J. .
IET SOFTWARE, 2009, 3 (01) :46-57
[4]  
Al Dallal J., 2010, INT J COMPUTER SCI, V4, P45
[5]   Incorporating transitive relations in low-level design-based class cohesion measurement [J].
Al Dallal, Jehad .
SOFTWARE-PRACTICE & EXPERIENCE, 2013, 43 (06) :685-704
[6]   A Precise Method-Method Interaction-Based Cohesion Metric for Object-Oriented Classes [J].
Al Dallal, Jehad ;
Briand, Lionel C. .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2012, 21 (02)
[7]   The impact of accounting for special methods in the measurement of object-oriented class cohesion on refactoring and fault prediction activities [J].
Al Dallal, Jehad .
JOURNAL OF SYSTEMS AND SOFTWARE, 2012, 85 (05) :1042-1057
[8]   Fault prediction and the discriminative powers of connectivity-based object-oriented class cohesion metrics [J].
Al Dallal, Jehad .
INFORMATION AND SOFTWARE TECHNOLOGY, 2012, 54 (04) :396-416
[9]   Improving the applicability of object-oriented class cohesion metrics [J].
Al Dallal, Jehad .
INFORMATION AND SOFTWARE TECHNOLOGY, 2011, 53 (09) :914-928
[10]   Measuring the Discriminative Power of Object-Oriented Class Cohesion Metrics [J].
Al Dallal, Jehad .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2011, 37 (06) :788-804