Use este identificador para citar ou linkar para este item: http://repositorio.ufla.br/jspui/handle/1/31521
Registro completo de metadados
Campo DCValorIdioma
dc.creatorCouto, Christian Marlon Souza-
dc.date.accessioned2018-10-31T18:34:40Z-
dc.date.available2018-10-31T18:34:40Z-
dc.date.issued2018-10-31-
dc.date.submitted2018-08-23-
dc.identifier.citationCOUTO, 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.pt_BR
dc.identifier.urihttp://repositorio.ufla.br/jspui/handle/1/31521-
dc.descriptionO termo "move method" foi mantido no título alternativo em português-
dc.description.abstractRefactoring 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.pt_BR
dc.description.sponsorshipCoordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)pt_BR
dc.languageengpt_BR
dc.publisherUniversidade Federal de Lavraspt_BR
dc.rightsacesso abertopt_BR
dc.subjectArquitetura de softwarept_BR
dc.subjectRefatoraçãopt_BR
dc.subjectMétricas de qualidadept_BR
dc.subjectSoftware architecturept_BR
dc.subjectRefactoringpt_BR
dc.subjectQuality metricspt_BR
dc.titleA quality-oriented approach to recommend move method refactoringpt_BR
dc.title.alternativeUma abordagem orientada a qualidade para recomendar refatorações move methodpt_BR
dc.typedissertaçãopt_BR
dc.publisher.programPrograma de Pós-graduação em Ciência da Computaçãopt_BR
dc.publisher.initialsUFLApt_BR
dc.publisher.countrybrasilpt_BR
dc.contributor.advisor1Villela, Ricardo Terra Nunes Bueno-
dc.contributor.referee1Rocha, Henrique Santos Camargos-
dc.contributor.referee2Parreira Junior, Paulo Afonso-
dc.description.resumoProcessos de refatoração são comuns em sistemas de software de grande porte, principalmente quando desenvolvedores negligenciam o processo de erosão arquitetural por longos períodos. Embora existam uma ampla gama de processos de refatoração, poucos são automatizados e levam em consideração os impactos na qualidade do software resultante. Diante desse cenário, esta dissertação de mestrado propõe uma abordagem de refatoração de sistemas de software orientada a métricas de qualidade de software. Com base no modelo QMOOD (Quality Model for Object Oriented Design), a ideia central é mover métodos entre classes de forma a maximizar os valores das métricas de qualidade. Utilizando uma notação formal, o problema pode ser descrito da seguinte forma. Dado um sistema de software S, a abordagem recomenda uma sequência de refatorações R1; R2; ... ; Rn que resulta em versões do sistema S1; S2; ... ; Sn, onde qualidade(Si+1) > qualidade(Si). Uma calibração empírica foi conduzida utilizando quatro sistemas de código aberto, de modo a encontrar o melhor critério para medir a melhora da qualidade. Dentre dez estratégias diferentes, foi escolhida a que alcançou uma média de recall de 57%, cujo critério é comparar as métricas pela porcentagem de melhora da soma dos atributos de qualidade QMOOD. Três tipos de avaliações foram realizadas para verificar a utilidade da ferramenta implementada, chamada QMove. Primeiro, a abordagem proposta foi aplicada em 13 sistemas de código aberto que foram modificados movendo aleatoriamente um subconjunto de seus métodos para outras classes, verificando posteriormente se a abordagem proposta recomendaria que esses métodos movidos retornassem ao seu local original, e foi alcançado 84% de recall. Segundo, foi realizada uma comparação do QMove com duas ferramentas de refatoração do estado-da-arte (JMove e JDeodorant) nos 13 sistemas previamente avaliados, e QMove demonstrou melhor valor de recall (84%) que os outros dois (30% e 29%, respectivamente). Terceiro e último, foi feita a mesma comparação utilizando QMove, JMove e JDeodorant em dois sistemas proprietários onde desenvolvedores experientes avaliaram a qualidade das recomendações. QMove obteve oito recomendações avaliadas positivamente pelos desenvolvedores, contra duas e nenhuma do JMove e JDeodorant, respectivamente.pt_BR
dc.publisher.departmentDepartamento de Ciência da Computaçãopt_BR
dc.subject.cnpqEngenharia de Softwarept_BR
dc.creator.Latteshttp://lattes.cnpq.br/6653395571696713pt_BR
Aparece nas coleções:Ciência da Computação - Mestrado (Dissertações)

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
DISSERTAÇÃO_A quality-oriented approach to recommend move method refactoring.pdf1,42 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.