国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:冯铁,靳乐,张家晨,王洪媛
单位:冯铁,吉林大学 计算机科学与技术学院, 吉林 长春 130012;符号计算与知识工程教育部重点实验室(吉林大学), 吉林 长春 13001211,靳乐,吉林大学 软件学院, 吉林 长春 13001202,张家晨,吉林大学 计算机科学与技术学院, 吉林 长春 13001203,王洪媛,吉林大学 计算机科学与技术学院, 吉林 长春 13001204
关键词:设计模式检测|面向对象软件度量|模式微结构|堆叠泛化|机器学习
基金:国家自然科学基金(61471181);赛尔网络下一代互联网技术创新项目(NGII20180701)
设计模式检测是理解和维护软件系统的一项重要工作.以高效识别设计模式变体和提高设计模式识别准确率为目的,将面向对象度量与模式微结构相结合,提出一种基于堆叠泛化的设计模式检测方法.该方法应用典型的机器学习算法,分别训练度量分类器和微结构分类器,并基于两者的预测值和相关对象模型特征进一步训练,从而形成堆叠分类器.为了评估该方法,基于该方法开发了一个原型工具OOSdpd.该工具从Java字节码级别的系统实现中抽取设计模式实例,并在JUnit等几个经典的开源项目上进行实验.通过与现有的两种工具进行对比分析,实验验证了该方法在提高设计模式识别准确率及召回率方面的有效性.
来源:2020年第6期
《软件学报》期刊编辑部