Mining class association rules from dynamic class coupling data to measure class reusability pattern

  • Authors:
  • Anshu Parashar;Jitender Kumar Chhabra

  • Affiliations:
  • Haryana College of technology & Management Kaithal, India;Department of Computer Engineering, National Institute of Technology, Kurukshetra, Kurukshetra, India

  • Venue:
  • ICSI'11 Proceedings of the Second international conference on Advances in swarm intelligence - Volume Part II
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

The increasing use of reusable components during the process of software development in the recent times has motivated the researchers to pay more attention to the measurement of reusability. There is a tremendous scope of using various data mining techniques in identifying set of software components having more dependency amongst each other, making each of them less reusable in isolation. For object-oriented development paradigm, class coupling has been already identified as the most important parameter affecting reusability. In this paper an attempt has been made to identify the group of classes having dependency amongst each other and also being independent from rest of the classes existing in the same repository. The concepts of data mining have been used to discover patterns of reusable classes in a particular application. The paper proposes a three step approach to discover class associations rules for Java applications to identify set of classes that should be reused in combination. Firstly dynamic analysis of the Java application under consideration is performed using UML diagrams to compute class import coupling measure. Then in the second step, for each class these collected measures are represented as Class_Set & binary Class_Vector. Finally the third step uses apriori (association rule mining) algorithm to generate Class Associations Rules (CAR's) between classes. The proposed approach has been applied on sample Java programs and our study indicates that these CAR's can assist the developers in the proper identification of reusable classes by discovering frequent class association patterns.