基于机器学习的逆向类图和正向类图分类
Classification of Reverse-Engineered Class Diagram and Forward-Engineered Class Diagram using Machine Learning
摘要:
UML类图对于可视化我们正在工作的整个软件非常重要,并通过显示系统类,其属性,方法以及与其他对象的关系,以最简单的方式帮助理解整个系统。在现实世界中,有两种类型的类图工程师工作,即1)正向工程类图(FwCD),这是手工制作的前瞻性开发过程的一部分,2)。逆向工程类图(Reverse Engineered Class Diagram,RECD)是从源代码逆向工程的图。在软件行业中,当使用新的开放软件项目时,了解它是哪种类型的类图是很重要的。在一个特定的项目中使用了哪个UML图是一个需要知道的重要因素?为了解决这个问题,我们建议建立一个分类器,可以将UML图分类为FwCD或RECD。我们建议使用监督机器学习技术来解决这个问题。这种方法包括分析在分类类图时有用的特征。在这个过程中使用了不同的机器学习模型,随机森林算法被证明是最好的。性能测试是在999类图上完成的。
英文摘要:
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.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。