2005
DOI: 10.1007/s10270-004-0059-9
|View full text |Cite
|
Sign up to set email alerts
|

An approach for reverse engineering of design patterns

Abstract: For the maintenance of software systems, developers have to completely understand the existing system. The usage of design patterns leads to benefits for new and young developers by enabling them to reuse the knowledge of their experienced colleagues. Design patterns can support a faster and better understanding of software systems. There are different approaches for supporting pattern recognition in existing systems by tools. They are evaluated by the Information Retrieval criteria precision and recall. An au… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
17
0
2

Year Published

2006
2006
2021
2021

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 38 publications
(19 citation statements)
references
References 7 publications
0
17
0
2
Order By: Relevance
“…Moreover, PINOT considers a reclassification of the GoF patterns to facilitate the recognition of design patterns as detailed in Section 5. We also embedded negative criteria in the design pattern library, as done in Philippow et al (2005). Furthermore, like others (such as Antoniol and Tonella, 2001;Gueheneuc et al, 2006;Tsantalis et al, 2006a) our approach can be exploited to detect modified versions of design patterns as defined by Gamma et al (1995), by applying structural modifications to the visual grammar specifying design pattern library.…”
Section: Related Workmentioning
confidence: 97%
See 1 more Smart Citation
“…Moreover, PINOT considers a reclassification of the GoF patterns to facilitate the recognition of design patterns as detailed in Section 5. We also embedded negative criteria in the design pattern library, as done in Philippow et al (2005). Furthermore, like others (such as Antoniol and Tonella, 2001;Gueheneuc et al, 2006;Tsantalis et al, 2006a) our approach can be exploited to detect modified versions of design patterns as defined by Gamma et al (1995), by applying structural modifications to the visual grammar specifying design pattern library.…”
Section: Related Workmentioning
confidence: 97%
“…The automatic approach presented in Philippow et al (2005) extends the algorithm searching for minimal key structures employed in Keller et al (1999). Key structures define the minimal class and/or object structure that must be present to identify a pattern.…”
Section: Related Workmentioning
confidence: 99%
“…Figure 1 shows a common implementation of the Singleton pattern. It is generally perceived to be the simplest pattern to detect [28,24], since it does not require analyzing its interaction with other classes. The intent of the Singleton pattern is to ensure that a class has only one instance [15].…”
Section: Example: the Singleton Patternmentioning
confidence: 99%
“…Design pattern detection tools can be evaluated with respect to the following metrics: precision and recall [17]. Precision is given by the ratio of recognized and really implemented patterns, while recall is calculated as the division between implemented and recognized patterns.…”
Section: Design Pattern Detection Stepsmentioning
confidence: 99%
“…We propose a categorization of detection tools based on the information they use during detection: -tools considering the "entire" representation of design patterns (PTIDEJ [2], CrocoPat [4]); it means the detection algorithm tries to map (at once) the entire pattern on the representation of the source code; usually, this approach claims for a "complete" catalog containing all possible implementations of design patterns. -tools considering a minimal set of key structures design patterns consist of ( [17], SPOOL [10]); it means the detection algorithm tries to individuate (at once) the core set of structures a pattern is built on; this approach claims a further analysis of design patterns leading to the identification of their core elements; -tools considering the sub-components design patterns are built of (FUJABA [12], SPQR [20]); it means the detection algorithm works incrementally by individuating first the sub-components of patterns, then trying to combine these subcomponents into patterns; obviously, subcomponents are explicitly described and stored in the design pattern catalog. Of interest for the present paper is the last category of tools because they imply a further formalization of design patterns that conserve their flexibility.…”
Section: Design Pattern Detection Stepsmentioning
confidence: 99%