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, FRANCESCA
Secondo
;
STELLA, FABIO ANTONIO
Ultimo
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.
Articolo in rivista - Articolo scientifico
Design pattern detection; Machine learning techniques; Hardware and Architecture; Software; Information Systems
English
2015
103
102
117
reserved
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].
File in questo prodotto:
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.

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