欢迎来到天天文库
浏览记录
ID:45580593
大小:111.10 KB
页数:6页
时间:2019-11-15
《基于决策树算法的设计模式抽取》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于决策树算法的设计模式抽取摘要:设计模式被广泛的应用于各种软件系统设计中,但是这种架构的设计模式的相关信息在大量的系统中常常丢失,使得优秀的设计不能充分的发挥其应有的作用。从面向对彖软件程序中抽取设计模式就是把这些埋葬在代码里或者设计图中的使用过的设计模式抽取出來,这不仅仅能使得我们对大的系统更加容易理解,更重要的是它们能够让我们知道原始的系统的设计意图。本文研究利用决策树的智能算法从面向对象的软件中抽取设计模式。设计和实现利用开源系统Junit对设计模式进行模式的训练,以产生模式规则,然后利用模式
2、规则抽取和应的设计模式。实验证明,利用决策树算法不仅町以抽取标准的设计模式的实例,而且能够大大的提高对变体模式的抽取。关键词:决策树算法;设计模式;机器学习算法中图分类号:TP319RecoveryofDesignPatternsbasedontheDecisionTreeAlgorithmZHAOYang,LINHuiyue(SchoolofComputerScience,NanjingUniversityofScienceandTechnology,NanJing210094)Abstract:D
3、esignpatternshavebeenwidelyusedinsoftwaredevelopment.However,theymaybeburiedinthesoftwarelifecycle,andhencegoodexperiencesaregone・Therefore,weneedtorecoverpatternsfromobject-orientedsourcecodetounderstandsoftwaredevelopers1originaldesignintent.Inthispap
4、er,weborrowthedecisiontreealgorithmtorecoverpatternsfromsourcecode.Inordertogeneratepatternrules,theopensourceJunithasbeenusedtodotrainingforpaltems.Theexperimentalresultsshowsthatoursolutioncannotonlydetectregularpatterns,butalsoworkfortheirvariants.Ke
5、ywords:decisiontreealgorithm;designpattern;machinelearningalgorithm0引言近二十年以來,基丁•专家设计经验的设计模式"31已经被广泛的应用到了软件工业中,软件开发者很口然地重用设计模式去解决软件设计中经常出现的问题。然而,在软件系统屮,利用设计模式和实现设计模式的实例后,源代码屮与模式冇关的很多信息都不再被利用,我们很难在源代码中跟踪这些设计上的一些信息。尤其在大的软件系统中,你儿乎不可能找到设计模式的实例。不同的设计模式抽取方法已在文
6、献[4]中进行全面阐述,例如Kramer等研究人员实现的抽取设计模式实例的工具Pat⑸和Bansiya等研究人员实现的抽取工具DP++⑹筹。机器学习算法,如决策树和神经网络,已经被应用到抽取潜在的设计模式实例中⑺引,然而这两种方法都不能完全自动化,它需要手工的收集和人为干预。更重要的是,其训练集来自于另一种抽取的设计模式的工具,使用机器学习的算法,只是以微调方法从该工具屮获取训练集。而且,这些方法应用机器学习技术主耍目标是为了消除从其他工具产生的潜在false-positive的结果,而不是宜接的抽取
7、设计模式。因此,他们的训练样本被它所用的工具所限制,这可能会丢失一些真正的设计模式实例。本文设计和实现了利川决策树的科能算法从面向对象的软件系统中抽収设计模式,利川开源系统训练模式规则,然后利用模式规则从开源代码屮抽取设计模式。1用决策树算法挖掘设计模式的架构木文研究利用决策树智能算法抽取设计模式实例包括两个阶段,一个阶段是从冇模式标号的训练样木屮获得模式的规则,如图1所示,另一•个阶段是根据从第一阶段训练出来的模式规则,从大量的不带模式标号的样本屮抽取设计模式实例,如图2所示。首先将面向对象软件设计
8、的源代码转换为XML文件存储该软件系统的类结构的信息,接着XML文件输入到…个预处理系统屮,输出训练样本。在模式规则的产生过程屮,要对■训练样本进行模式的标号,然后将这些样木集输入到决策树算法中,输出模式规则。而在模式的抽取阶段,在获得训练样本后,直接将其作为模式规则的输入,抽取出设计模式实例。图1模式规则的产生过程图2模式抽取的过程2预处理系统2.1预处理系统的概述本文是研究设计和实现利川决策树算法训练样本以产生模式规则,然后利川规则抽取设计模式,如图
此文档下载收益归作者所有