ABSTRACT

Software class change proneness is the possibility that a class will undergo change in the future versions of the software, a software characteristic predicted by the internal quality attributes of the software like cohesion, coupling, inheritance, and polymorphism. We have empirically explored the interrelation between dynamic software metrics and class change proneness. While using Machine Learning (ML) techniques to construct the prediction models, we have used Open source software (OSS) “SoundHelix” for building the prediction model by using dynamic metrics as internal quality attributes of the software. From the five ML techniques for building the prediction models, which are ─ Single Decision Tree, Probabilistic Neural Network/General Regression Neural Network (PNN/GRNN), Radial Basis Function Neural Network (RBF), Logistic Regression, and Group Method of Data Handling (GMDH) polynomial network, we found that the last, or GMDH algorithm, performs best with highest accuracy. “Class Change Factor (CCF)”, a metric based on the GMDH technique and proposed to determine the change proneness of the class, can be used to find out classes with the possibility of change in the future releases of the product. To validate the proposed metric, five OSS are used. “Class Change Factor (CCF)” will help the software developers in recognition of change prone classes in the initial steps of development process, and thus they can focus their attention only on those classes for the refactoring and other maintenance activities.