Atenção: Todas as denúncias são sigilosas e sua identidade será preservada.
Os campos nome e e-mail são de preenchimento opcional
Metadados | Descrição | Idioma |
---|---|---|
Autor(es): dc.contributor | Almeida, Rodrigo Bonifácio de | - |
Autor(es): dc.creator | Oliveira, Marcos César de | - |
Data de aceite: dc.date.accessioned | 2024-10-23T15:25:08Z | - |
Data de disponibilização: dc.date.available | 2024-10-23T15:25:08Z | - |
Data de envio: dc.date.issued | 2021-11-08 | - |
Data de envio: dc.date.issued | 2021-11-08 | - |
Data de envio: dc.date.issued | 2021-11-08 | - |
Data de envio: dc.date.issued | 2021-05-21 | - |
Fonte completa do material: dc.identifier | https://repositorio.unb.br/handle/10482/42344 | - |
Fonte: dc.identifier.uri | http://educapes.capes.gov.br/handle/capes/882551 | - |
Descrição: dc.description | Tese (doutorado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2021. | - |
Descrição: dc.description | 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. | - |
Descrição: dc.description | 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. | - |
Formato: dc.format | application/pdf | - |
Direitos: dc.rights | Acesso Aberto | - |
Direitos: dc.rights | 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. | - |
Palavras-chave: dc.subject | Refactoração | - |
Palavras-chave: dc.subject | Dependências de co-mudança | - |
Palavras-chave: dc.subject | Remodularização | - |
Palavras-chave: dc.subject | Clusterização | - |
Palavras-chave: dc.subject | Arquitetura - qualidade | - |
Título: dc.title | Applying fine-grained co-change dependencies to identify refactoring opportunities | - |
Tipo de arquivo: dc.type | livro digital | - |
Aparece nas coleções: | Repositório Institucional – UNB |
O Portal eduCAPES é oferecido ao usuário, condicionado à aceitação dos termos, condições e avisos contidos aqui e sem modificações. A CAPES poderá modificar o conteúdo ou formato deste site ou acabar com a sua operação ou suas ferramentas a seu critério único e sem aviso prévio. Ao acessar este portal, você, usuário pessoa física ou jurídica, se declara compreender e aceitar as condições aqui estabelecidas, da seguinte forma: