arrow
返回

Efficiently detecting structural design pattern instances based on ordered sequences

delete2018-08-01
delete22
PRE
AI
D
Dongjin Yu *
张萍 (Ping Zhang)
J
Jiazha Yang
Z
Zhenli Chen
C
Chengfei Liu
J
Jie Chen
DOI:10.1016/j.jss.2018.04.015delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
In software engineering, a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design. Design patterns reveal much about the high-level abstract designs of software systems. Accurately discovering design pattern instances in software systems helps developers and maintainers to understand the original design and implementation, and to facilitate the re-development, upgrade and maintenance. In recent years, numerous approaches have been proposed to discover design pattern instances from system source code. Among them, many transform the source code and design patterns into graphs, and then discover the isomorphic sub-graphs of design patterns from the graph of software system. However, as testing sub-graph isomorphism is an NP-complete problem, those approaches usually fail to achieve satisfactory efficiency. On the other hand, a real time response of detecting pattern instance is in fact essential. To address this problem, we propose a novel efficient approach to detect structural design pattern instances based on directed sub-graph isomorphism. In particular, we put forward a well-designed search order, or Ordered Sequences, by which the candidate pattern instances can be rapidly detected. Because the Ordered Sequences guide the search process in such an order that the most representative classes are discovered first, a large number of irrelevant classes can be filtered out at early stage, which greatly reduces the search space. We employ our approach on four well-known open-source systems. The results of extensive experiments for discovering instances of all GOF structural design patterns verify that our approach obtains 100% recall and the high precision. In addition, the experiment conducted on two other large scale open-source projects indicates that our approach runs significantly faster than the compared approach. (C) 2018 Elsevier Inc. All rights reserved.
Keyword:
Design pattern
Structural design pattern
Design pattern discovering
Directed sub-graph isomorphism
Ordered sequence
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

Journal of Systems and Software 封面图
Journal of Systems and Software
IF:
4.1
论文数:
5.4K
被引数:
8.4K

机构

H
Hangzhou Dianzi University
学者数:
1.3W
论文数: 9.6K
被引数: 7.5K
引用论文

引用论文

Source code and design conformance, design pattern detection from source code by classification approach
err2015-01-01
err46
PREAI
errChihada, Abdullah; Jalili, Saeed; Hasheminejad, Seyed Mohammad Hossein; Zangooei, Mohammad Hossein
err分享
err收藏
err分享
err收藏
Automated refactoring to the NULL OBJECT design pattern
err2015-03-01
err19
PREAI
errGaitani, Maria Anna G.; Zafeiris, Vassilis E.; Diamantidis, N. A.; Giakoumakis, E. A.
err分享
err收藏
Design pattern recovery based on annotations
err2010-04-01
err37
PREAI
errRasool, Ghulam; Philippow, Ilka; Maeder, Patrick
err分享
err收藏
Documenting Design-Pattern Instances: A Family of Experiments on Source-Code Comprehensibility
err2015-05-13
err30
errOAAI
errScanniello, Giuseppe; Gravino, Carmine; Risi, Michele; Tortora, Genoveffa; Dodero, Gabriella
err分享
err收藏
err分享
err收藏
PARTICIPATORY EVALUATION BY FARMERS OF ON-FARM SEED PRIMING IN WHEAT IN INDIA, NEPAL AND PAKISTAN
err2001-09-06
err0
PREAI
errD. Harris; B. S. Raghuwanshi; J. S. Gangwar; S. C. Singh; K. D. Joshi; A. Rashid; P. A. Hollington
err分享
err收藏
学者 查看更多内容