首页 | 本学科首页   官方微博 | 高级检索  
     

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

关 键 词:设计模式检测  面向对象软件度量  模式微结构  堆叠泛化  机器学习
收稿时间:2018/4/27 0:00:00
修稿时间:2018/12/6 0:00:00

Design Pattern Detection Approach Based on Stacked Generalization
FENG Tie,JIN Le,ZHANG Jia-Chen,WANG Hong-Yuan.Design Pattern Detection Approach Based on Stacked Generalization[J].Journal of Software,2020,31(6):1703-1722.
Authors:FENG Tie  JIN Le  ZHANG Jia-Chen  WANG Hong-Yuan
Affiliation:College of Computer Science and Technology, Jilin University, Changchun 130012, China;Key Laboratory of Symbolic Computation and Knowledge Engineering (Jilin University), Ministry of Education, Changchun 130012, China;College of Software, Jilin University, Changchun 130012, China
Abstract:Design pattern detection plays an important role in understanding and maintaining software system. With the purpose of identifying variants of design pattern efficiently and improving the accuracy of design pattern detection, an approach of design pattern detection based on stacked generalization in combination with object-oriented software metrics and pattern micro-structures is proposed in this study. Applying some typical machine learning algorithms, the approach trains a metric classifier and a micro-structure classifier for each design pattern, after which a stacked classifier is further trained and constructed on the predictive values of the two classifiers and some related object modeling features. To evaluate the proposed approach, a prototype tool, namely OOSdpd, is developed to detect design pattern instances from Java bytecode files of a system. The experiments on several classic open source projects are carried out, such as JUnit etc., and the proposed approach is compared with two existing tools. Experiments prove the effectiveness of the proposed approach in terms of improving the accuracy and recall rate of design pattern detection.
Keywords:design pattern detection|object-oriented software metric|pattern micro-structure|stacked generalization|machine learning
本文献已被 维普 万方数据 等数据库收录!
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号