Improving Design Patterns Finder Precision Using a Model Checking Approach

In this paper we propose an approach exploiting the model checking technique to automatically refine the results produced by a Design Patterns mining tool called Design Pattern Finder (DPF) to improve the precision of its results by verifying the detected DPs automatically. To assess the feasibility of the proposed approach along with its effectiveness, we have applied it to an open source Object Oriented system with good results in improving the precision of the detected DPs.

[1]  Radu Mateescu,et al.  CADP 2011: a toolbox for the construction and analysis of distributed processes , 2012, International Journal on Software Tools for Technology Transfer.

[2]  Michele Risi,et al.  Improving Behavioral Design Pattern Detection through Model Checking , 2010, 2010 14th European Conference on Software Maintenance and Reengineering.

[3]  Yann-Gaël Guéhéneuc,et al.  P-MARt : Pattern-like Micro Architecture Repository , 2007 .

[4]  Tommaso Bolognesi,et al.  Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling , 1994, FORTE.

[5]  Ghulam Rasool,et al.  A Survey on Design Pattern Recovery Techniques , 2011 .

[6]  Mario Luca Bernardi,et al.  Design pattern detection using a DSL‐driven graph matching approach , 2014, J. Softw. Evol. Process..

[7]  Michael Philippsen,et al.  Two Controlled Experiments Assessing the Usefulness of Design Pattern Documentation in Program Maintenance , 2002, IEEE Trans. Software Eng..

[8]  Roberto Barbuti,et al.  Selective Mu-Calculus and Formula-Based Equivalence of Transition Systems , 1999, J. Comput. Syst. Sci..

[9]  Gabriela N. Aranda,et al.  A formal model for verifying compound design patterns , 2002, SEKE '02.

[10]  Antonella Santone,et al.  An Eclipse-Based Editor to Support LOTOS Newcomers , 2014, 2014 IEEE 23rd International WETICE Conference.

[11]  Federico Bergenti IMPROVING UML DESIGNS USING AUTOMATIC DESIGN PATTERN DETECTION , 2001 .

[12]  Colin Stirling,et al.  An Introduction to Modal and Temporal Logics for CCS , 1991, Concurrency: Theory, Language, And Architecture.

[13]  Juan José Moreno-Navarro,et al.  Stepwise Refinement Validation of Design Patterns Formalized in TLA+ using the TLC Model Checker , 2009, J. Object Technol..

[14]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .