DPVK - An Eclipse Plug-in to Detect Design Patterns in Eiffel Systems

Wei Wang, Vassilios Tzerpos
<span title="">2004</span> <i title="Elsevier BV"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/uy5mv2ncw5eahkdx47hkrglxmm" style="color: black;">Electronical Notes in Theoretical Computer Science</a> </i> &nbsp;
Design patterns are not only beneficial to the forward engineering process but also help in design recovery and program understanding, typical reverse engineering activities. In this paper, we introduce DPVK, a reverse engineering tool to detect pattern instances in Eiffel systems. In order to get better detection results, we analyze many different patterns and examine Eiffel software in terms of both static structure and dynamic behaviour. DPVK is implemented as an Eclipse plug-in to ensure
more &raquo; ... ter compatibility and extensibility. Open access under CC BY-NC-ND license. lution to a common design problem. A pattern can be reused as a building block for better software construction and designer communication. Design patterns are not only beneficial to the forward engineering process. From a program understanding and design recovery perspective, patterns provide the organization of a system and information about the role of each component of the system. Meanwhile, patterns can also indicate the design rationale behind the system's implementation. Usage of design patterns improves the understandability of object-oriented designs. Based on this observation, since a design pattern reflects the interconnection between a certain design and the purpose behind the design, finding instances of design patterns in a system can potentially yield the motivation for the system's design. A developer can get a better understanding of a software system by studying the design patterns within it.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1016/j.entcs.2004.02.049">doi:10.1016/j.entcs.2004.02.049</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/g6jwufftrbfklcrncotmeu77ii">fatcat:g6jwufftrbfklcrncotmeu77ii</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20170929073802/http://publisher-connector.core.ac.uk/resourcesync/data/elsevier/pdf/764/aHR0cDovL2FwaS5lbHNldmllci5jb20vY29udGVudC9hcnRpY2xlL3BpaS9zMTU3MTA2NjEwNDA1MTkyOA%3D%3D.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/d1/83/d183d30f1b9676e5d50cef0c5005d2367f8d147d.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1016/j.entcs.2004.02.049"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="unlock alternate icon" style="background-color: #fb971f;"></i> elsevier.com </button> </a>