Campo DC | Valor | Idioma |
dc.contributor.advisor | Almeida, Rodrigo Bonifácio de | - |
dc.contributor.author | Oliveira, Marcos César de | - |
dc.date.accessioned | 2021-11-09T16:37:52Z | - |
dc.date.available | 2021-11-09T16:37:52Z | - |
dc.date.issued | 2021-11-09 | - |
dc.date.submitted | 2021-05-21 | - |
dc.identifier.citation | OLIVEIRA, Marcos César de. Applying fine-grained co-change dependencies to identify refactoring opportunities. 2021., 126 f., il. Tese (Doutorado em Informática)—Universidade de Brasília, Brasília, 2021. | pt_BR |
dc.identifier.uri | https://repositorio.unb.br/handle/10482/42344 | - |
dc.description | Tese (doutorado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2021. | pt_BR |
dc.description.abstract | Uma dependência de co-mudança de granularidade fina surge quando duas entidades de
código fonte de granularidade fina, por exemplo, um método, mudam frequentemente
juntas. Esse tipo de dependência é relevante ao considerar esforços de remodularização
(por exemplo, para manter métodos que mudam frequentemente em uma mesma classe).
Trabalhos de pesquisa existentes sugerem que dependências de co-mudança estão corre-
lacionadas com problemas de design. Contudo, as atuais abordagens de recomendação de
refatoramento que alteram a decomposição do software (tal como um move method) não
exploram o uso de dependências de co-mudança de granularidade fina. Nessa tese apre-
sentamos uma nova abordagem (chamada Draco) que recomenda refatoramentos de move
method e move field, que remove dependências de co-mudança e evolutionary smells, um
tipo particular de dependência que surge quando entidade de granularidade fina que per-
tencem a classes diferentes são alteradas juntas com frequência. Primeiramento avaliamos
nossa abordagem usando 47 projetos Java open-source. Draco revelou 8,405 evolutionary
smells e recomendou 4,844 refatoramentos que removem dependências de co-change—sem
introduzir outros tipos de dependências. Uma avaliação quantitativa revelou que Draco
supera outras abordagens existentes (por exemplo, REsolution e JDeodorant) ao reco-
mendar refatoramentos quando se lida com dependências de co-mudança. Também ava-
liamos nossa abordagem submetendo pull-requests com as recomendações produzidas por
nossa técnica, além das recomendações de outras ferramentas (REsolution, JDeodorant e
JMove), no contexto de um sistema Java grande e dois de tamanho médio. Uma avali-
ação qualitativa mostrou que nossa abordagem é efetiva, não somente para recomendar
refatoramentos mas também para revelar oportunidades de melhorias de design. Outro
resultado dessa tese é que os resultados de ambas avaliações (quantitativa e qualitativa)
sugerem que Draco pode complementar outras abordagens, já que suas recomendações
não se sobrepõem. | pt_BR |
dc.language.iso | Inglês | pt_BR |
dc.rights | Acesso Aberto | pt_BR |
dc.title | Applying fine-grained co-change dependencies to identify refactoring opportunities | pt_BR |
dc.type | Tese | pt_BR |
dc.subject.keyword | Refactoração | pt_BR |
dc.subject.keyword | Dependências de co-mudança | pt_BR |
dc.subject.keyword | Remodularização | pt_BR |
dc.subject.keyword | Clusterização | pt_BR |
dc.subject.keyword | Arquitetura - qualidade | pt_BR |
dc.rights.license | A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor com as seguintes condições: Na qualidade de titular dos direitos de autor da publicação, autorizo a Universidade de Brasília e o IBICT a disponibilizar por meio dos sites www.bce.unb.br, www.ibict.br, http://hercules.vtls.com/cgi-bin/ndltd/chameleon?lng=pt&skin=ndltd sem ressarcimento dos direitos autorais, de acordo com a Lei nº 9610/98, o texto integral da obra disponibilizada, conforme permissões assinaladas, para fins de leitura, impressão e/ou download, a título de divulgação da produção científica brasileira, a partir desta data. | pt_BR |
dc.description.abstract1 | A fine-grained co-change dependency arises when two fine-grained source-code entities,
e.g., a method, change frequently together. This kind of dependency is relevant when con-
sidering remodularization orts (e.g., to keep methods that change together in the same
class). Existing research suggests that co-change dependencies are correlated with de-
sign problems. However, existing approaches for recommending refactorings that change
software decomposition (such as a move method) do not explore the use of fine-grained
co-change dependencies. In this thesis we present a novel approach (named Draco) for rec-
ommending move method and move field refactorings, which removes co-change dependen-
cies and evolutionary smells, a particular type of dependency that arise when fine-grained
entities that belong to di
erent classes frequently change together. We first evaluated our
approach using 47 open-source Java projects. Draco revealed 8,405 evolutionary smells
and recommended 4,844 refactorings that remove co-change dependencies—without in-
troducing other types of dependencies. A quantitative assessment reveals that Draco
outperforms existing approaches (e.g., REsolution and JDeodorant) for recommending
refactorings when dealing with co-change dependencies. We also evaluate our approach
by submitting pull-requests with the recommendations of our technique, in addition to
the recommendations from other tools (REsolution, JDeodorant, and JMove), in the con-
text of one large and two medium size proprietary Java systems. A qualitative evaluation
shows that our approach is eective, not only for recommending refactorings but also
to reveal opportunities of design improvements. Another outcome of this thesis is that
the results of both assessments (quantitative and qualitative) suggest that Draco can
complement other approaches, since their refactoring recommendations do not overlap. | pt_BR |
dc.description.unidade | Instituto de Ciências Exatas (IE) | pt_BR |
dc.description.unidade | Departamento de Ciência da Computação (IE CIC) | pt_BR |
dc.description.ppg | Programa de Pós-Graduação em Informática | pt_BR |
Aparece nas coleções: | Teses, dissertações e produtos pós-doutorado
|