Please use this identifier to cite or link to this item:
http://repositorio.ufla.br/jspui/handle/1/31521
Title: | A quality-oriented approach to recommend move method refactoring |
Other Titles: | Uma abordagem orientada a qualidade para recomendar refatorações move method |
Authors: | Villela, Ricardo Terra Nunes Bueno Rocha, Henrique Santos Camargos Parreira Junior, Paulo Afonso |
Keywords: | Arquitetura de software Refatoração Métricas de qualidade Software architecture Refactoring Quality metrics |
Issue Date: | 31-Oct-2018 |
Publisher: | Universidade Federal de Lavras |
Citation: | COUTO, C. M. S. A quality-oriented approach to recommend move method refactoring. 2018. 64 p. Dissertação (Mestrado em Ciência da Computação)–Universidade Federal de Lavras, Lavras, 2018. |
Abstract: | Refactoring processes are common in large software systems, especially when developers neglect architectural erosion process for long periods. Even though there are many refactoring approaches, very few consider the refactoring impact on the software quality. Given this scenario, this master dissertation proposes a refactoring approach to software systems oriented to software quality metrics. Based on the QMOOD (Quality Model for Object Oriented Design), the main idea is to move methods between classes in order to maximize the values of the quality metrics. Using a formal notation, we describe the problem as follows. 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 open-source systems, to find the best criteria to measure the quality improvement. By testing ten different strategies, we chose the one that achieved a recall average of 57.5%, whose criterion is to compare the metrics by improvement percentage of the sum of QMOOD quality attributes. We performed three types of evaluation to verify the usefulness of our implemented tool, called QMove. First, we applied our approach on 13 open-source systems that we modified by randomly moving a subset of its methods to other classes, then checking if our ap-proach would recommend the moved methods to return to their original place, and we achieve 84% recall, on average. Second, we compared QMove against two state-of-art refactoring tools (JMove and JDeodorant) on the 13 previously evaluated systems, and QMove showed better recall value (84%) than the other two (30% and 29%, respectively). Third, we con-ducted the same comparison among QMove, JMove, and JDeodorant applied in two proprietary systems where experts evaluated the quality of the recommendations. QMove obtained eight positively evaluated recommendations from the experts, against two and none of JMove and JDeodorant, respectively. |
Description: | O termo "move method" foi mantido no título alternativo em português |
URI: | http://repositorio.ufla.br/jspui/handle/1/31521 |
Appears in Collections: | Ciência da Computação - Mestrado (Dissertações) |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
DISSERTAÇÃO_A quality-oriented approach to recommend move method refactoring.pdf | 1,42 MB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.