Title
Dealing with Design Pattern Variants in Reverse Engineering: An Exploratory Study
Abstract
Design patterns represent best practices in software design and are particularly relevant for Model-Driven Engineering (MDE) due to their ability to describe conceptual source code knowledge. As a consequence, effective design pattern recovery approaches provide a great support for understanding complex software systems. However, although design pattern definitions come with a canonical form, their implementations can diverge from such form for different reasons, such as, the chosen software architecture or additional design requirements, making their detection in source code rather challenging. In this paper, we investigate the use of different design pattern implementation variants in software systems and how they affect the retrieval performance of design pattern recovery tools. In particular, we focus on different variants of Adapter and Observer design patterns, by analyzing the available documentation of six open source software systems and a public repository of design pattern instances, and we analyze the performance of three different design pattern recovery tools with respect to these variants.
Year
DOI
Venue
2018
10.1109/QUATIC.2018.00033
2018 11th International Conference on the Quality of Information and Communications Technology (QUATIC)
Keywords
Field
DocType
Design Pattern,Program Analysis,Implementation Variants of Patterns
Software design,Software engineering,Systems engineering,Computer science,Source code,Reverse engineering,Software design pattern,Adapter (computing),Software system,Software architecture,Design pattern
Conference
ISBN
Citations 
PageRank 
978-1-5386-5842-0
0
0.34
References 
Authors
6
4
Name
Order
Citations
PageRank
Andrea De Lucia14432217.26
Vincenzo Deufemia244940.96
Carmine Gravino372147.71
Michele Risi440340.98