Design pattern detection using software metrics and machine learning

Design pattern detection using software metrics and machine learning
复制标题

DOI:
--
复制
发表时间:
2011-12
期刊:
--
影响因子:
--
通讯作者:
S. Uchiyama;H. Washizaki;Y. Fukazawa;Atsuto Kubo
S. Uchiyama;H. Washizaki;Y. Fukazawa;Atsuto Kubo
中科院分区:
其他
文献类型:
--
作者:
S. Uchiyama;H. Washizaki;Y. Fukazawa;Atsuto Kubo

文献摘要

相似文献

通过自动检测程序中众所周知的设计模式,可以提高面向对象程序的可理解性、可维护性和可重用性。以前的许多检测技术都是基于静态分析,使用由类结构信息组成的严格条件。因此,它们很难检测类结构相似的设计模式。此外,它们难以处理设计模式应用的多样性。我们提出了一种使用度量和机器学习的设计模式检测技术。我们的技术通过使用机器学习和度量来判断组成设计模式的角色的候选者,并通过分析候选者之间的关系来检测设计模式。它抑制假阴性,并区分类结构相似的模式。我们进行了实验,将我们的技术与以前的两种技术进行了比较。这些结果表明,我们的技术比以前的技术更准确。Keywords-component;面向对象软件,设计模式,软件度量,机器学习
The understandability, maintainability, and reusability of object-oriented programs could be improved by automatically detecting well-know design patterns in programs. Many of the previous detection techniques are based on static analysis and use strict conditions composed of class structure information. Hence, it is difficult for them to detect design patterns in which the class structures are similar. Moreover, it is difficult for them to deal with diversity of design pattern applications. We propose a design pattern detection technique using metrics and machine learning. Our technique judges candidates for the roles that compose the design patterns by using machine learning and measurements of metrics, and it detects design patterns by analyzing the relations between candidates. It suppresses false negative and distinguishes patterns in which the class structures are similar. We conducted experiments comparing our technique with two previous techniques. These results showed that our technique was more accurate than the previous techniques. Keywords—component; Object-oriented software, Design pattern, Software metrics, Machine learning