Measuring behavioral dependency for improving change-proneness prediction in UML-based design models

  • Authors:
  • Ah-Rim Han;Sang-Uk Jeon;Doo-Hwan Bae;Jang-Eui Hong

  • Affiliations:
  • Division of CS, College of Information Science and Technology, Korea Advanced Institute of Science and Technology (KAIST), Daejeon 305-701, Republic of Korea;Division of CS, College of Information Science and Technology, Korea Advanced Institute of Science and Technology (KAIST), Daejeon 305-701, Republic of Korea;Division of CS, College of Information Science and Technology, Korea Advanced Institute of Science and Technology (KAIST), Daejeon 305-701, Republic of Korea;Computer Engineering Division, School of Electrical and Computer Engineering, Chungbuk National University, Chungju 361-763, Republic of Korea

  • Venue:
  • Journal of Systems and Software
  • Year:
  • 2010

Quantified Score

Hi-index 0.01

Visualization

Abstract

Several studies have explored the relationship between the metrics of the object-oriented software and the change-proneness of the classes. This knowledge can be used to help decision-making among design alternatives or assess software quality such as maintainability. Despite the increasing use of complex inheritance relationships and polymorphism in object-oriented software, there has been less emphasis on developing metrics that capture the aspect of dynamic behavior. Considering dynamic behavior metrics in conjunction with existing metrics may go a long way toward obtaining more accurate predictions of change-proneness. To address this need, we provide the behavioral dependency measure using structural and behavioral information taken from UML 2.0 design models. Model-based change-proneness prediction helps to make high-quality software by exploiting design models from the earlier phase of the software development process. The behavioral dependency measure has been evaluated on a multi-version medium size open-source project called JFlex. The results obtained show that the proposed measure is a useful indicator and can be complementary to existing object-oriented metrics for improving the accuracy of change-proneness prediction when the system contains high degree of inheritance relationships and polymorphism.