基于机器学习的逆向工程类图与正向工程类图分类
软件工程
2020-11-17 v1 机器学习
摘要
UML 类图对于可视化我们所开发的整个软件非常重要,并通过展示系统类、其属性、方法以及与其他对象的关系,以尽可能简单的方式帮助理解整个系统。在现实世界中,工程师使用的类图有两种类型:1) 正向工程类图(FwCD),作为前瞻性开发过程的一部分手工绘制;2) 逆向工程类图(RECD),即从源代码逆向工程得到的那些图。在软件行业中,处理新的开源软件项目时,了解它属于哪种类型的类图十分重要。某个特定项目使用了哪种 UML 图是一个需要了解的重要因素。为解决此问题,我们提出构建一个分类器,将 UML 图分类为 FwCD 或 RECD。我们提议使用有监督机器学习技术来解决该问题。该方法涉及分析对类图分类有用的特征。此过程中使用了不同的机器学习模型,其中 Random Forest 算法被证明是其中最优的。性能测试在 999 个类图上进行。
引用
@article{arxiv.2011.07313,
title = {Classification of Reverse-Engineered Class Diagram and Forward-Engineered Class Diagram using Machine Learning},
author = {Kaushil Mangaroliya and Het Patel},
journal= {arXiv preprint arXiv:2011.07313},
year = {2020}
}