Characterizing refactoring-inducing pull requests.

Detalhes bibliográficos
Ano de defesa: 2022
Autor(a) principal: COELHO, Flávia Estélia Silva.
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/26053
Resumo: O desenvolvimento baseado em pull adequa-se à prática da Revisão de Código Moderna (RCM), na qual os revisores podem sugerir melhorias de código, como refatoramentos, por meio de comentários e commits em Pull Requests (PRs). Estudos anteriores de RCM tratam todos os PRs como semelhantes, independentemente de induzirem refatoramento ou não. Definimos um PR como indutor de refatoramento quando as edições de refatoramento são realizadas após o(s) commit(s) inicial(is) como resultado de comentários de revisores ou ações espontâneas realizadas pelo autor do PR. Este trabalho explora aspectos relacionados à revisão de código com o objetivo de caracterizar PRs indutores de refatoramento. Para isso, extraímos edições de refatoramento e dados de revisão de código do GitHub. Em seguida, realizamos estudos empíricos para identificar similaridades/dissimilaridades entre PRs indutores de refatoramento e não indutores de refatoramento e caracterizar revisão de código e edições de refatoramento em PRs indutores de refatoramento. Encontramos diferenças significativas entre PRs indutores de refatoramento e não indutores de refatoramento e evidências empíricas sobre a relevância da revisão de código para edições de refatoramento no nível de PR. Observamos fatores motivadores por trás dos PRs indutores de refatoramento, identificamos aspectos estruturais dos comentários de revisão em PRs indutores e não indutores de refatoramento e propomos diretrizes para uma revisão de código mais produtiva. Também encontramos evidências empíricas sobre aspectos técnicos que caracterizam refatoramentos em PRs indutores de refatoramento. Nossas descobertas sugerem orientações para pesquisadores, profissionais e desenvolvedores de ferramentas para melhorar as práticas em torno da revisão de código baseada em pull.