One of the approaches to improve program understanding is to extract what kinds of design pattern are used in existing object-oriented software. This paper proposes a technique for efficiently and accurately detecting occurrences of design patterns included in source codes. We use both static and dynamic analyses to achieve the detection with high accuracy. Moreover, to reduce computation and maintenance costs, detection conditions are hierarchically specified based on Pree's meta patterns as common structures of design patterns. The usage of Prolog to represent the detection conditions enables us to easily add and modify them. Finally, we have implemented an automated tool as an Eclipse plug-in and conducted experiments with Java programs. The experimental results show the effectiveness of our approach.
The copyright of the original papers published on this site belongs to IEICE. Unauthorized use of the original or translated papers is prohibited. See IEICE Provisions on Copyright for details.
Copy
Shinpei HAYASHI, Junya KATADA, Ryota SAKAMOTO, Takashi KOBAYASHI, Motoshi SAEKI, "Design Pattern Detection by Using Meta Patterns" in IEICE TRANSACTIONS on Information,
vol. E91-D, no. 4, pp. 933-944, April 2008, doi: 10.1093/ietisy/e91-d.4.933.
Abstract: One of the approaches to improve program understanding is to extract what kinds of design pattern are used in existing object-oriented software. This paper proposes a technique for efficiently and accurately detecting occurrences of design patterns included in source codes. We use both static and dynamic analyses to achieve the detection with high accuracy. Moreover, to reduce computation and maintenance costs, detection conditions are hierarchically specified based on Pree's meta patterns as common structures of design patterns. The usage of Prolog to represent the detection conditions enables us to easily add and modify them. Finally, we have implemented an automated tool as an Eclipse plug-in and conducted experiments with Java programs. The experimental results show the effectiveness of our approach.
URL: https://global.ieice.org/en_transactions/information/10.1093/ietisy/e91-d.4.933/_p
Copy
@ARTICLE{e91-d_4_933,
author={Shinpei HAYASHI, Junya KATADA, Ryota SAKAMOTO, Takashi KOBAYASHI, Motoshi SAEKI, },
journal={IEICE TRANSACTIONS on Information},
title={Design Pattern Detection by Using Meta Patterns},
year={2008},
volume={E91-D},
number={4},
pages={933-944},
abstract={One of the approaches to improve program understanding is to extract what kinds of design pattern are used in existing object-oriented software. This paper proposes a technique for efficiently and accurately detecting occurrences of design patterns included in source codes. We use both static and dynamic analyses to achieve the detection with high accuracy. Moreover, to reduce computation and maintenance costs, detection conditions are hierarchically specified based on Pree's meta patterns as common structures of design patterns. The usage of Prolog to represent the detection conditions enables us to easily add and modify them. Finally, we have implemented an automated tool as an Eclipse plug-in and conducted experiments with Java programs. The experimental results show the effectiveness of our approach.},
keywords={},
doi={10.1093/ietisy/e91-d.4.933},
ISSN={1745-1361},
month={April},}
Copy
TY - JOUR
TI - Design Pattern Detection by Using Meta Patterns
T2 - IEICE TRANSACTIONS on Information
SP - 933
EP - 944
AU - Shinpei HAYASHI
AU - Junya KATADA
AU - Ryota SAKAMOTO
AU - Takashi KOBAYASHI
AU - Motoshi SAEKI
PY - 2008
DO - 10.1093/ietisy/e91-d.4.933
JO - IEICE TRANSACTIONS on Information
SN - 1745-1361
VL - E91-D
IS - 4
JA - IEICE TRANSACTIONS on Information
Y1 - April 2008
AB - One of the approaches to improve program understanding is to extract what kinds of design pattern are used in existing object-oriented software. This paper proposes a technique for efficiently and accurately detecting occurrences of design patterns included in source codes. We use both static and dynamic analyses to achieve the detection with high accuracy. Moreover, to reduce computation and maintenance costs, detection conditions are hierarchically specified based on Pree's meta patterns as common structures of design patterns. The usage of Prolog to represent the detection conditions enables us to easily add and modify them. Finally, we have implemented an automated tool as an Eclipse plug-in and conducted experiments with Java programs. The experimental results show the effectiveness of our approach.
ER -