A Novel UML Based Approach for Early Detection of Change Prone Classes

This article describes how predicting change-prone classes is essential for effective development of software. Evaluating changes from one release of software to the next can enhance software quality. This article proposes an efficient novel-based approach for predicting changes early in the object-oriented software. Earlier researchers have calculated change prone classes using static characteristics such as source line of code e.g. added, deleted and modified. This research work proposes to use dynamic metrics such as execution duration, run time information, regularity, class dependency and popularity for predicting change prone classes. Execution duration and run time information are evaluated directly from the software. Class dependency is obtained from UML2.0 class and sequence diagrams. Regularity and popularity is acquired from frequent item set mining algorithms and an ABC algorithm. For classifying the class as change-prone or non-change-prone class an Interactive Dichotomizer version 3 ID3 algorithm is used. Further validation of the results is done using two open source software, OpenClinic and OpenHospital.

[1]  Foutse Khomh,et al.  Evaluating the impact of design pattern and anti-pattern dependencies on changes and faults , 2015, Empirical Software Engineering.

[2]  Ruchika Malhotra,et al.  Prediction & Assessment of Change Prone Classes Using Statistical & Machine Learning Techniques , 2017, J. Inf. Process. Syst..

[3]  Kamaldeep Kaur,et al.  Evaluation of Machine Learning Approaches for Change-Proneness Prediction Using Code Smells , 2016, FICTA.

[4]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[5]  Doo-Hwan Bae,et al.  Behavioral Dependency Measurement for Change-Proneness Prediction in UML 2.0 Design Models , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[6]  Santanu Kumar Rath,et al.  Empirical Analysis on Effectiveness of Source Code Metrics for Predicting Change-Proneness , 2017, ISEC.

[7]  Ruchika Malhotra,et al.  Investigation of relationship between object-oriented metrics and change proneness , 2013, Int. J. Mach. Learn. Cybern..

[8]  Ankita Jain Bansal,et al.  Empirical analysis of search based algorithms to identify change prone classes of open source software , 2017, Comput. Lang. Syst. Struct..

[9]  B. Boehm Software risk management: principles and practices , 1991, IEEE Software.

[10]  Yuming Zhou,et al.  Examining the Potentially Confounding Effect of Class Size on the Associations between Object-Oriented Metrics and Change-Proneness , 2009, IEEE Transactions on Software Engineering.

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

[12]  James M. Bieman,et al.  Design patterns and change proneness: an examination of five evolving systems , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[13]  Magne Jørgensen,et al.  Assessing the Changeability of two Object-Oriented Design Alternatives--a Controlled Experiment , 2001, Empirical Software Engineering.

[14]  Ladan Tahvildari,et al.  Change Prediction in Object-Oriented Software Systems: A Probabilistic Approach , 2008, J. Softw..

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

[16]  Santanu Kumar Rath,et al.  Using source code metrics to predict change-prone web services: A case-study on ebay services , 2017, 2017 IEEE Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE).

[17]  Michele Lanza,et al.  On the Relationship Between Change Coupling and Software Defects , 2009, 2009 16th Working Conference on Reverse Engineering.

[18]  Jens Dietrich,et al.  Circular dependencies and change-proneness: An empirical study , 2015, 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[19]  I. Sommerville,et al.  Software engineering (2nd ed.) , 1985 .