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

ICPC(2009)

引用 36|浏览16
暂无评分
摘要
Identification of design patterns can deliver important information to designers. Therefore, automated design pat- tern 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 vari- ous 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 di- agnostics even if the inputs from the evaluated tools were partly wrong and (2) to detect patterns instances not iden- tified 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, Medi- ator and Facade pattern data fusion could not improve re- sults, demonstrating that research into improvements of the basic detection techniques is still necessary.
更多
查看译文
关键词
object-oriented programming,program diagnostics,reverse engineering,sensor fusion,Java,automated design pattern detection,data fusion,diagnostic correction,unknown code understanding
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要