Classification of Reverse-Engineered Class Diagram and   Forward-Engineered Class Diagram using Machine Learning
UML Class diagram is very important to visualize the whole software we are working on and helps understand the whole system in the easiest way possible by showing the system classes, its attributes, methods, and relations with other objects. In the real world, there are two types of Class diagram engineers work with namely 1) Forward Engineered Class Diagram (FwCD) which are hand-made as part of the forward-looking development process, and 2). Reverse Engineered Class Diagram (RECD) which are those diagrams that are reverse engineered from the source code. In the software industry while working with new open software projects it is important to know which type of class diagram it is. Which UML diagram was used in a particular project is an important factor to be known? To solve this problem, we propose to build a classifier that can classify a UML diagram into FwCD or RECD. We propose to solve this problem by using a supervised Machine Learning technique. The approach in this involves analyzing the features that are useful in classifying class diagrams. Different Machine Learning models are used in this process and the Random Forest algorithm has proved to be the best out of all. Performance testing was done on 999 Class diagrams.