Using Design Pattern Clues to Improve the Precision of Design Pattern Detection Tools

By: Francesca Arcelli Fontana, Marco Zanoni, Stefano Maggioni

Abstract

Design pattern detection, or rather the detection of structures that match design patterns, is useful for reverse engineering, program comprehension and for design recovery as well as for re-documenting object-oriented systems. Finding design patterns inside the code gives hints to software engineers about the methodologies adopted and the problems found during its design phases, and helps the engineers to evolve and maintain the system. In this paper, we present the results provided by four different design pattern detection tools on the analysis of JHotDraw 6.0b1, a well-known Java GUI framework. We show that the tools generally provide different results, even while evaluating the same system. From this observation, we introduce an approach based on micro structures detection that aims to discard the false positives from the detected results, hence improving the precision of the analyzed tools results. For this purpose we exploit a set of micro structures called design pattern clues, which give useful hints for the detection of design patterns.

Keywords

Software re-engineering, software maintenance, reverse engineering, design recovery, design pattern detection

Cite as:

Francesca Arcelli Fontana, Marco Zanoni, Stefano Maggioni, “Using Design Pattern Clues to Improve the Precision of Design Pattern Detection Tools”, Journal of Object Technology, Volume 10, (2011), pp. 4:1-31, doi:10.5381/jot.2011.10.1.a4.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact