TY - GEN
T1 - Standing on the shoulders of giants - A data fusion approach to design pattern detection
AU - Kniesel, Günter
AU - Binun, Alexander
PY - 2009/10/20
Y1 - 2009/10/20
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=70349998980&partnerID=8YFLogxK
U2 - 10.1109/ICPC.2009.5090044
DO - 10.1109/ICPC.2009.5090044
M3 - Conference contribution
AN - SCOPUS:70349998980
SN - 9781424439973
T3 - IEEE International Conference on Program Comprehension
SP - 208
EP - 217
BT - 2009 IEEE 17th International Conference on Program Comprehension, ICPC '09
T2 - 2009 IEEE 17th International Conference on Program Comprehension, ICPC '09
Y2 - 17 May 2009 through 19 May 2009
ER -