Object-Oriented design patterns are an emergent technology: they are reusable micro-architectures, high level building blocks. A system which has been designed using well-known, documented and accepted design patterns is also likely to exhibit good properties such as modularity, separation of concerns and maintainability. While for forward engineering the benefits of using design patterns are clear, using reverse engineering technologies to discover instances of patterns in a software artifact (e.g., design or code) may help in several key areas, among which program understanding, design to code traceability and quality assessment. This paper describes a conservative approach and experimental results, based on a multi-stage reduction stragegy using OO software metrics and structural properties to extract structural design patterns from OO design or C++ code. To assess the effectiveness of the pattern recovery process a portable environment written in Java, remotely accessible by means of any WEB browser, has been developed. The developed system and experimental results on 8 industrial sofware (design and code) and 300.000 line of public domain C++ code are presented.

Object-Oriented Design Patterns Recovery

Cristoforetti, Luca
1998-01-01

Abstract

Object-Oriented design patterns are an emergent technology: they are reusable micro-architectures, high level building blocks. A system which has been designed using well-known, documented and accepted design patterns is also likely to exhibit good properties such as modularity, separation of concerns and maintainability. While for forward engineering the benefits of using design patterns are clear, using reverse engineering technologies to discover instances of patterns in a software artifact (e.g., design or code) may help in several key areas, among which program understanding, design to code traceability and quality assessment. This paper describes a conservative approach and experimental results, based on a multi-stage reduction stragegy using OO software metrics and structural properties to extract structural design patterns from OO design or C++ code. To assess the effectiveness of the pattern recovery process a portable environment written in Java, remotely accessible by means of any WEB browser, has been developed. The developed system and experimental results on 8 industrial sofware (design and code) and 300.000 line of public domain C++ code are presented.
1998
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/11582/1682
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
social impact