Enhancing Frequency Based Change Proneness Prediction Method Using Artificial Bee Colony Algorithm

In the field of software engineering, during the development ofObject Oriented (OO) software, the knowledge of the classes which are more prone tochanges in software is an important problem that arises nowadays. In order to solve this problem, several methods were introduced by predicting the changes in the software earlier. But those methods are not facilitating very good prediction result. This research work proposes a novel approach for predicting changes in software. Our proposed probabilistic approach uses the behavioral dependency generated from UML diagrams, as well as other code metrics such as time and trace events generated from source code. These measures combined with frequency of method calls and popularity can be used in automated manner to predict a change prone class. Thus all these five features (time, trace events, behavioral dependency, frequency and popularity) are obtained from our proposed work. Then, these features are given as the input to the ID3 (Interactive Dichotomizer version 3) decision tree algorithm for effectively classifying the classes, whether it predicts the change proneness or not. If a class is classified into prediction of change prone class, then the value of change proneness is also obtained by our work.

[1]  Alexander Chatzigeorgiou,et al.  Predicting the probability of change in object-oriented systems , 2005, IEEE Transactions on Software Engineering.

[2]  Jon Ølnes,et al.  Idea: A Feasibility Study in Model Based Prediction of Impact of Changes on System Quality , 2010, ESSoS.

[3]  Wei Zheng,et al.  Definition of Task Allocation and Priority Assignment in Hard Real-Time Distributed Systems , 2007, RTSS 2007.

[4]  Dag I. K. Sjøberg,et al.  Towards a framework for empirical assessment of changeability decay , 2000, J. Syst. Softw..

[5]  Houari A. Sahraoui,et al.  A Probabilistic Approach for Change Impact Prediction in Object-Oriented Systems , 2009, AIAI Workshops.

[6]  Daniele Romano,et al.  Using source code metrics to predict change-prone Java interfaces , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[7]  Vahid Garousi,et al.  Analysis and visualization of behavioral dependencies among distributed objects based on UML models , 2006, MoDELS'06.

[8]  Hongfang Liu,et al.  Identifying and characterizing change-prone classes in two large-scale open-source products , 2007, J. Syst. Softw..

[9]  James M. Bieman,et al.  Understanding change-proneness in OO software through visualization , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[10]  Mikael Lindvall Measurement of change: stable and change-prone constructs in a commercial C++ system , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[11]  Kleanthis Thramboulidis Using UML for the development of distributed industrial process measurement and control systems , 2001, Proceedings of the 2001 IEEE International Conference on Control Applications (CCA'01) (Cat. No.01CH37204).

[12]  P. S. Thiagarajan,et al.  A UML-Based Design Framework for Time-Triggered Applications , 2007, RTSS 2007.

[13]  Lionel C. Briand,et al.  Dynamic coupling measurement for object-oriented software , 2004, IEEE Transactions on Software Engineering.