Authors:
Themistoklis Diamantopoulos
1
;
Antonis Noutsos
1
and
Andreas Symeonidis
2
Affiliations:
1
Electrical and Computer Engineering Dept., Aristotle University of Thessaloniki, Greece
;
2
Aristotle University of Thessaloniki, Greece
Keyword(s):
Design Pattern Detection, Static Code Analysis, Reverse Engineering, Code Reuse.
Abstract:
In order to maintain, extend or reuse software projects one has to primarily understand what a system does
and how well it does it. And, while in some cases information on system functionality exists, information
covering the non-functional aspects is usually unavailable. Thus, one has to infer such knowledge by extracting
design patterns directly from the source code. Several tools have been developed to identify design patterns,
however most of them are limited to compilable and in most cases executable code, they rely on complex
representations, and do not offer the developer any control over the detected patterns. In this paper we present
DP-CORE, a design pattern detection tool that defines a highly descriptive representation to detect known
and define custom patterns. DP-CORE is flexible, identifying exact and approximate pattern versions even in
non-compilable code. Our analysis indicates that DP-CORE provides an efficient alternative to existing design
pattern detection tools.