The decomposition of design patterns into simpler elements may reduce significantly the creation of variants in forward engineering, while it increases the possibility of identifying applied patterns in reverse engineering. Nevertheless, there are few reverse engineering tools that exploit the decomposition of patterns (i.e., FUJABA, SPQR). The SPQR approach introduces a catalog of elemental design patterns (EDP) and a rule set based on sigma-calculus through which EDPs are defined and composed into design patterns. Considering the SPQR approach particularly interesting, we propose a novel solution for defining and detecting EDPs and, further, design patterns. Our approach defines EDPs as logical functions of eight symbolic variables, each variable representing a method call (e.g., method name, method signature, method declaration, this reference, super reference) or a class property (superclass, same family, same object). An EDP detector has been developed based on this approach, representing a starting point for future developments towards design pattern recognition in the reverse engineering context.

Arcelli Fontana, F., Masiero, S., Raibulet, C. (2005). Elemental Design Patterns Recognition in Java. In Proceedings - 13th IEEE International Workshop on Software Technology and Engineering Practice, STEP 2005 (pp.196-205). IEEE [10.1109/STEP.2005.12].

Elemental Design Patterns Recognition in Java

Arcelli Fontana, F;Raibulet, C
2005

Abstract

The decomposition of design patterns into simpler elements may reduce significantly the creation of variants in forward engineering, while it increases the possibility of identifying applied patterns in reverse engineering. Nevertheless, there are few reverse engineering tools that exploit the decomposition of patterns (i.e., FUJABA, SPQR). The SPQR approach introduces a catalog of elemental design patterns (EDP) and a rule set based on sigma-calculus through which EDPs are defined and composed into design patterns. Considering the SPQR approach particularly interesting, we propose a novel solution for defining and detecting EDPs and, further, design patterns. Our approach defines EDPs as logical functions of eight symbolic variables, each variable representing a method call (e.g., method name, method signature, method declaration, this reference, super reference) or a class property (superclass, same family, same object). An EDP detector has been developed based on this approach, representing a starting point for future developments towards design pattern recognition in the reverse engineering context.
paper
design pattern; sub-components of design pattern; reverse engineering
English
13th IEEE International Workshop on Software Technology and Engineering Practice 2005 - 24 September 2005 through 25 September 2005
2005
Proceedings - 13th IEEE International Workshop on Software Technology and Engineering Practice, STEP 2005
0-7695-2639-X
2005
2005
196
205
1691648
none
Arcelli Fontana, F., Masiero, S., Raibulet, C. (2005). Elemental Design Patterns Recognition in Java. In Proceedings - 13th IEEE International Workshop on Software Technology and Engineering Practice, STEP 2005 (pp.196-205). IEEE [10.1109/STEP.2005.12].
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/3509
Citazioni
  • Scopus 13
  • ???jsp.display-item.citation.isi??? 8
Social impact