The detection of design patterns is a useful activity giving support to the comprehension and maintenance of software systems. Many approaches and tools have been proposed in the literature providing different results. In this paper, we extend a previous work regarding the application of machine learning techniques for design pattern detection, by adding a more extensive experimentation and enhancements in the analysis method. Here we exploit a combination of graph matching and machine learning techniques, implemented in a tool we developed, called MARPLE-DPD. Our approach allows the application of machine learning techniques, leveraging a modeling of design patterns that is able to represent pattern instances composed of a variable number of classes. We describe the experimentations for the detection of five design patterns on 10 open source software systems, compare the performances obtained by different learning models with respect to a baseline, and discuss the encountered issues.
Zanoni, M., ARCELLI FONTANA, F., Stella, F. (2015). On applying machine learning techniques for design pattern detection. THE JOURNAL OF SYSTEMS AND SOFTWARE, 103, 102-117 [10.1016/j.jss.2015.01.037].
On applying machine learning techniques for design pattern detection
ZANONI, MARCO
;ARCELLI FONTANA, FRANCESCASecondo
;STELLA, FABIO ANTONIOUltimo
2015
Abstract
The detection of design patterns is a useful activity giving support to the comprehension and maintenance of software systems. Many approaches and tools have been proposed in the literature providing different results. In this paper, we extend a previous work regarding the application of machine learning techniques for design pattern detection, by adding a more extensive experimentation and enhancements in the analysis method. Here we exploit a combination of graph matching and machine learning techniques, implemented in a tool we developed, called MARPLE-DPD. Our approach allows the application of machine learning techniques, leveraging a modeling of design patterns that is able to represent pattern instances composed of a variable number of classes. We describe the experimentations for the detection of five design patterns on 10 open source software systems, compare the performances obtained by different learning models with respect to a baseline, and discuss the encountered issues.File | Dimensione | Formato | |
---|---|---|---|
marpledpdclassifier.pdf
Solo gestori archivio
Descrizione: Articolo principale
Tipologia di allegato:
Submitted Version (Pre-print)
Dimensione
495.07 kB
Formato
Adobe PDF
|
495.07 kB | Adobe PDF | Visualizza/Apri Richiedi una copia |
1-s2.0-S0164121215000217-main.pdf
Solo gestori archivio
Tipologia di allegato:
Publisher’s Version (Version of Record, VoR)
Dimensione
924.27 kB
Formato
Adobe PDF
|
924.27 kB | Adobe PDF | Visualizza/Apri Richiedi una copia |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.