A Quality-oriented Approach to Recommend Move Method Refactorings

  • Christian Marlon Souza Couto UFLA
  • Henrique Rocha Inria Lille
  • Ricardo Terra UFLA

Resumo


Refactoring is an important activity to improve software internal structure. Even though there are many refactoring approaches, very few consider their impact on the software quality. In this paper, we propose a software refactoring approach based on quality attributes. We rely on the measurements of the Quality Model for Object Oriented Design (QMOOD) to recommend Move Method refactorings that improve software quality. In a nutshell, given a software system S, our approach recommends a sequence of refactorings R1,R2,...,Rn that result in system versions S1, S2,..., Sn, where quality (Si+1) > quality (Si). We empirically calibrated our approach, using four systems, to find the best criteria to measure the quality improvement. We performed three types of evaluation to verify the usefulness of our implemented tool, named QMove. First, we applied our approach on 13 open-source systems achieving an average recall of 84.2%. Second, we compared QMove with two state-of-art refactoring tools (JMove and JDeodorant) on the 13 previously evaluated systems, and QMove showed better recall, precision, and f-score values than the others. Third, we evaluated QMove, JMove, and JDeodorant in a real scenario with two proprietary systems on the eyes of their software architects. As result, the experts positively evaluated a greater number of QMove recommendations.
Palavras-chave: Quality-oriented Approach, Refactoring, Move Method
Publicado
17/10/2018
Como Citar

Selecione um Formato
COUTO, Christian Marlon Souza ; ROCHA, Henrique; TERRA, Ricardo. A Quality-oriented Approach to Recommend Move Method Refactorings. In: SIMPÓSIO BRASILEIRO DE QUALIDADE DE SOFTWARE (SBQS), 17. , 2018, Curitiba. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2018 . p. 11-20.