The use of Design Patterns has constantly grown in the development of Object Oriented systems, due to the well-known advantage they offer to improve the quality of software design. However, lack of documentation about which Design Patterns are actually adopted and implemented in the code and about the code components involved in the implementation of each Design Pattern instance can make harder any operation of maintenance, reuse, or evolution impacting those components. Thus, several Design Pattern Mining approaches and tools have been proposed to identify the instances of Design Pattern implemented in an Object oriented system. Nevertheless, the results produced by these approaches can be not fully complete and precise because of the presence of false positive/negative. In this paper we propose to integrate a Model Driven based Design Pattern mining approach with a Formal Method technique to automatically refine and improve the precision of results of traditional mining tool. In particular Model checking is used to refine the results of the Design Pattern Finder (DPF) tool implementing a Model Driven based approach to detect Design Pattern instances Object Oriented systems. To verify and validate the feasibility and effectiveness of the proposed approach we carried out a case study regarding four open source OO systems. The results from the case study showed that actually the technique allowed to raise significantly the precision of the instances that the DPF tool was able to identify.

Integrating model driven and model checking to mine design patterns

Mario Luca Bernardi;Di Lucca G;
2016-01-01

Abstract

The use of Design Patterns has constantly grown in the development of Object Oriented systems, due to the well-known advantage they offer to improve the quality of software design. However, lack of documentation about which Design Patterns are actually adopted and implemented in the code and about the code components involved in the implementation of each Design Pattern instance can make harder any operation of maintenance, reuse, or evolution impacting those components. Thus, several Design Pattern Mining approaches and tools have been proposed to identify the instances of Design Pattern implemented in an Object oriented system. Nevertheless, the results produced by these approaches can be not fully complete and precise because of the presence of false positive/negative. In this paper we propose to integrate a Model Driven based Design Pattern mining approach with a Formal Method technique to automatically refine and improve the precision of results of traditional mining tool. In particular Model checking is used to refine the results of the Design Pattern Finder (DPF) tool implementing a Model Driven based approach to detect Design Pattern instances Object Oriented systems. To verify and validate the feasibility and effectiveness of the proposed approach we carried out a case study regarding four open source OO systems. The results from the case study showed that actually the technique allowed to raise significantly the precision of the instances that the DPF tool was able to identify.
2016
978-989-758-115-1
Software Engineering; Design Patterns; Model Checking; Mining; Formal Methods; Models
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12070/8577
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 2
  • ???jsp.display-item.citation.isi??? 2
social impact