Standing on the shoulders of giants - A data fusion approach to design pattern detection

Günter Kniesel, Alexander Binun

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

25 Scopus citations

Abstract

Identification of design patterns can deliver important information to designers. Therefore, automated design pattern detection (DPD) is highly desirable when it comes to understanding unknown code. In this paper, we present the results of evaluating five existing DPD tools on various Java projects. These results motivate our proposal of a novel DPD approach based on data fusion. It combines design pattern candidate sets coming from different tools implementing different DPD techniques. We show that a design pattern can be a witness for the existence of another pattern. Our approach is able (1) to provide correct diagnostics even if the inputs from the evaluated tools were partly wrong and (2) to detect patterns instances not identified by the individual tools. For the Decorator, Visitor and Observer pattern, the witness-based approach yields better precision and recall than provided by any single tool. In particular, it detects 24 out of 30 instances of these patterns missed in our experiments by the evaluated tools. We also found that on the analyzed instances of the Bridge, Mediator and Facade pattern data fusion could not improve results, demonstrating that research into improvements of the basic detection techniques is still necessary.

Original languageEnglish
Title of host publication2009 IEEE 17th International Conference on Program Comprehension, ICPC '09
Pages208-217
Number of pages10
DOIs
StatePublished - 20 Oct 2009
Externally publishedYes
Event2009 IEEE 17th International Conference on Program Comprehension, ICPC '09 - Vancouver, BC, Canada
Duration: 17 May 200919 May 2009

Publication series

NameIEEE International Conference on Program Comprehension

Conference

Conference2009 IEEE 17th International Conference on Program Comprehension, ICPC '09
Country/TerritoryCanada
CityVancouver, BC
Period17/05/0919/05/09

ASJC Scopus subject areas

  • Hardware and Architecture
  • Software

Fingerprint

Dive into the research topics of 'Standing on the shoulders of giants - A data fusion approach to design pattern detection'. Together they form a unique fingerprint.

Cite this