山东大学学报 (工学版) ›› 2020, Vol. 50 ›› Issue (6): 48-58.doi: 10.6040/j.issn.1672-3961.0.2020.229
Zhuoyu XIAO1(),Pei HE2,Guo CHEN1,Yunbiao XU1,Jie GUO1
摘要:
为解决设计模式挖掘正确率较低的问题, 提出一种带特征指标约束描述的设计模式分类挖掘方法。归纳了47种特征指标, 给出了设计模式约束定义, 对设计模式特征进行了描述, 以Adapter模式、Command模式、Factory Method模式为例, 分结构型、行为型与创建型3类挖掘设计模式, 设计了3个基准系统与4个经典系统的设计模式挖掘试验。试验结果表明, 本研究方法对基准系统的Adapter模式、Command模式、Factory Method模式挖掘正确率为96.13%、91.67%、72.23%, 对经典系统挖掘正确率分别为84.3%、81.26%、73.17%, 与传统方法比较, 本研究方法取得了较好的效果。
中图分类号:
1 | LUCIA A D , DEUFEMIA V , GRAVINO C , et al. Detecting the behavior of design patterns through model checking and dynamic analysis[J]. ACM Transactions on Software Engineering and Methodology, 2018, 26 (4): 1- 41. |
2 | 肖卓宇, 何锫. 多阶段可松弛的设计模式变体检测方法[J]. 华中科技大学学报(自然科学版), 2018, 46 (1): 26- 31. |
XIAO Zhuoyu , HE Pei . Multi-stage relaxed detection method for variants of design pattern[J]. Journal of Hua zhong University of science and Technology (Natural Science), 2018, 46 (1): 26- 31. | |
3 | MAYVAN B B , RASOOLZADEGAN A , EBRAHIMI A M . A new benchmark for evaluating pattern mining methods based on the automatic generation of testbeds[J]. Information and Software Technology, 2019, 59 (1): 60- 79. |
4 |
肖卓宇, 何锫, 陈俊旭, 等. 设计模式变体检测研究[J]. 小型微型计算机系统, 2017, 38 (8): 1751- 1756.
doi: 10.3969/j.issn.1000-1220.2017.08.018 |
XIAO Zhuoyu , HE Pei , CHEN Junxu , et al. Research on variants of the design pattern detection[J]. Journal of Chinese Computer Systems, 2017, 38 (8): 1751- 1756.
doi: 10.3969/j.issn.1000-1220.2017.08.018 |
|
5 | 肖卓宇, 何锫, 余波, 等. 一种形式化文法关系驱动的设计模式检测方法[J]. 工程科学学报, 2016, 38 (10): 1499- 1508. |
XIAO Zhuoyu , HE Pei , YU Bo , et al. An approach for design pattern detection based on the formal context-free grammar relation driver[J]. Chinese Journal of Engineering, 2016, 38 (10): 1499- 1508. | |
6 |
DWIVEDI A K , TIRKEY A , RATH S K . Applying learning-based methods for recognizing design patterns[J]. Innovations in Systems and Software Engineering, 2019, 15 (2): 87- 100.
doi: 10.1007/s11334-019-00329-3 |
7 | MAYVAN B B , RASOOLZADEGAN A , YAZDI Z G . The state of the art on design patterns: a systematic mapping of the literature[J]. Journal of Systems and Software, 2017, 125 (3): 93- 118. |
8 | 肖卓宇, 何锫, 余波. 一种多阶段交互式线索驱动的设计模式识别方法[J]. 北京航空航天大学学报, 2017, 43 (9): 1746- 1756. |
XIAO Zhuoyu , HE Pei , YU Bo . A multi-stage approach based on interactive clues driven for design pattern identification[J]. Journal of Beijing University of Aeronautics and Astronautics, 2017, 43 (9): 1746- 1756. | |
9 | 肖卓宇, 黄海, 何锫, 等. 设计模式检测工具有效性评估策略[J]. 计算机科学与探索, 2018, 12 (3): 380- 392. |
XIAO Zhuoyu , HUANG Hai , HE Pei , et al. Evaluation strategy of efficiency in design pattern detection tools[J]. Journal of Frontiers of Computer Science and Technology, 2018, 12 (3): 380- 392. | |
10 | ZHU H , BAYLEY I . An algebra of design patterns[J]. ACM Transactions on Software Engineering and Methodology, 2013, 22 (3): 23- 61. |
11 | ZANONI M , FONTANA F A , STELLA F . On applying machine learning techniques for design pattern detection[J]. Journal of Systems and Software, 2015, 88 (5): 102- 117. |
12 | CHIHADA A , JALILI S , HASHEMINEJAD S M H , et al. Source code and design conformance, design pattern detection from source code by classification approach[J]. Applied Soft Computing, 2015, 26 (1): 357- 367. |
13 | FONTANA F A , MAGGIONI S , RAIBULET C . Design patterns: a survey on their micro-structures[J]. Journal of Software: Evolution and Process, 2013, 25 (1): 27- 52. |
14 |
FONTANA F A , MAGGIONI S , RAIBULET C . Understanding the relevance of micro-structures for design patterns detection[J]. Journal of Systems and Software, 2011, 84 (12): 2334- 2347.
doi: 10.1016/j.jss.2011.07.006 |
15 |
肖卓宇, 何锫, 李港, 等. 注入间接线索的设计模式变体分类检测[J]. 小型微型计算机系统, 2018, 39 (6): 1335- 1341.
doi: 10.3969/j.issn.1000-1220.2018.06.039 |
XIAO Zhuoyu , HE Pei , LI Gang , et al. Injected Indirect clues for variants of design pattern detection[J]. Journal of Chinese Computer Systems, 2018, 39 (6): 1335- 1341.
doi: 10.3969/j.issn.1000-1220.2018.06.039 |
|
16 | YU D , ZHANG P , YANG J , et al. Efficiently detecting structural design pattern instances based on ordered sequences[J]. Journal of Systems and Software, 2018, 91 (5): 35- 56. |
17 | DWIVEDI A K , TIRKEY A , RATH S K . Software design pattern mining using classification-based techniques[J]. Frontiers of Computer Science, 2018, 12 (5): 908- 922. |
18 | PETTERSON N , L WE W , NIVRE J . Evaluation of accuracy in design pattern occurrence detection[J]. IEEE Transactions on Software Engineering, 2010, 36 (4): 575- 590. |
19 | 肖卓宇, 黎妍, 何锫, 等. 基于矩阵积分评估的设计模式检测研究[J]. 小型微型计算机系统, 2016, 37 (7): 1428- 1433. |
XIAO Zhuoyu , LI Yan , HE Pei , et al. Research on matrix grade evaluation based on design pattern detection[J]. Journal of Chinese Computer Systems, 2016, 37 (7): 1428- 1433. | |
20 | MAYVAN B B , RASOOLZADEGAN A . Design pattern detection based on the graph theory[J]. Knowledge-Based Systems, 2017, 120 (1): 211- 225. |
21 | 肖卓宇, 何锫, 杨鑫维, 等. 基于文法产生式优化的设计模式识别方法[J]. 电子科技大学学报, 2017, 46 (3): 569- 576. |
XIAO Zhuoyu , HE Pei , YANG Xinwei , et al. An optimization method for design pattern identification based on the grammar production[J]. Journal of University of Electronic Science and Technology of China, 2017, 46 (3): 569- 576. | |
22 | GUÉHÉNEUC Y G. P-mart: pattern-like micro architecture repository[C]//Proceedings of the 1st EuroPLoP Focus Group on pattern repositories. Ottawa, Canada: IEEE, 2007: 1-3. |
23 | ERICH GAMMA , RICHARD HELM , RALPH JOHNSON , et al. Design pattern: elements of reusable object-oriented software[M]. Bombay, India: Addison Wesley, 1995: 1- 22. |
24 | DE LUCIA A, DEUFEMIA V, GRAVINO C, et al. Impact of design pattern implementation variants on the retrieval effectiveness of a recovery tool: an exploratory Study[C]//2018 44th Euromicro Conference on Software Engineering and Advanced Applications. Seaa, Prague: IEEE, 2018: 159-166. |
25 | 肖卓宇, 何锫, 余波, 等. 基于FCA与CBR的设计模式检测[J]. 山东大学学报(工学版), 2016, 46 (2): 22- 28. |
XIAO Zhuoyu , HE Pei , YU Bo , et al. Design patterns detection based on FCA and CBR[J]. Journal of Shandong University (Engineering Science), 2016, 46 (2): 22- 28. | |
26 | 肖卓宇, 何锫, 余波. 非标准设计模式的恢复[J]. 计算机工程与设计, 2019, 40 (1): 143- 148. |
XIAO Zhuoyu , HE Pei , YU Bo . Recovery of non-standard design pattern[J]. Computer Engineering and Design, 2019, 40 (1): 143- 148. | |
27 | 肖卓宇, 何锫, 黎妍. 基于设计模式角色的附加关系检测研究[J]. 计算机应用研究, 2015, 32 (7): 2042- 2045. |
XIAO Zhuoyu , HE Pei , LI Yan . Study on the additional relationships based on design pattern's roles[J]. Application Research of Computers, 2015, 32 (7): 2042- 2045. |
[1] | 马常霞,张晨. 中文对话理解中基于预训练的意图分类和槽填充联合模型[J]. 山东大学学报 (工学版), 2020, 50(6): 68-75. |
[2] | 赵宁宁,唐雪嵩,赵鸣博. 基于卷积神经网络的深度线段分类算法[J]. 山东大学学报 (工学版), 2020, 50(4): 22-27. |
[3] | 宋士奇,朴燕,蒋泽新. 基于改进YOLOv3的复杂场景车辆分类与跟踪[J]. 山东大学学报 (工学版), 2020, 50(2): 27-33. |
[4] | 冯超,徐鲲鹏,陈黎飞. 符号序列的LDA主题特征表示方法[J]. 山东大学学报 (工学版), 2020, 50(2): 60-65. |
[5] | 李春阳,李楠,冯涛,王朱贺,马靖凯. 基于深度学习的洗衣机异常音检测[J]. 山东大学学报 (工学版), 2020, 50(2): 108-117. |
[6] | 张红斌,邱蝶蝶,邬任重,朱涛,滑瑾,姬东鸿. 基于极端梯度提升树算法的图像属性标注[J]. 山东大学学报 (工学版), 2019, 49(2): 8-16. |
[7] | 高明霞,李经纬. 基于word2vec词模型的中文短文本分类方法[J]. 山东大学学报 (工学版), 2019, 49(2): 34-41. |
[8] | 侯霄雄,许新征,朱炯,郭燕燕. 基于AlexNet和集成分类器的乳腺癌计算机辅助诊断方法[J]. 山东大学学报 (工学版), 2019, 49(2): 74-79. |
[9] | 屈庆涛,刘其成,牟春晓. 基于N-Gram语言模型的并行自适应新闻话题追踪算法[J]. 山东大学学报 (工学版), 2018, 48(6): 37-43. |
[10] | 李尧,王志海,孙艳歌,张伟. 一种基于深度属性加权的数据流自适应集成分类算法[J]. 山东大学学报 (工学版), 2018, 48(6): 44-55, 66. |
[11] | 张东波,寇涛,许海霞. 基于LDB描述子和局部空间结构匹配的快速场景辨识[J]. 山东大学学报 (工学版), 2018, 48(5): 16-23. |
[12] | 张璞,刘畅,王永. 基于特征融合和集成学习的建议语句分类模型[J]. 山东大学学报 (工学版), 2018, 48(5): 47-54. |
[13] | 王换,周忠眉. 一种基于聚类的过抽样算法[J]. 山东大学学报(工学版), 2018, 48(3): 134-139. |
[14] | 叶明全,高凌云,万春圆. 基于人工蜂群和SVM的基因表达数据分类[J]. 山东大学学报(工学版), 2018, 48(3): 10-16. |
[15] | 曹雅,邓赵红,王士同. 基于单调约束的径向基函数神经网络模型[J]. 山东大学学报(工学版), 2018, 48(3): 127-133. |
|