Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/765
Title: Automatic decomposition of code review changesets in open source software projects.
???metadata.dc.creator???: FREIRE, Victor da Cunha Luna.
???metadata.dc.contributor.advisor1???: FIGUEIREDO, Jorge Cesar Abrantes de.
???metadata.dc.contributor.advisor2???: MONTEIRO, João Arthur Brunet.
Keywords: Engenharia de Software;Revisão de Código;Decomposição de Conjunto de Mudança
Issue Date: 2016
Publisher: Universidade Federal de Campina Grande
Citation: FREIRE, V. da C. L. Automatic decomposition of code review changesets in open source software projects. 2016. 59 f. Dissertação (Mestrado em Ciência da Computação) – Programa de Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2016.
???metadata.dc.description.resumo???: Revisão de código é uma atividade amplamente utilizada para garantia da qualidade de código-fonte. Como uma típica atividade de revisão, revisão de código depende fortemente da habilidade dos desenvolvedores de entenderem o código sendo revisado. Como consequência, a presença de conjuntos de mudanças grandes contendo várias modificações independentes (e.g. consertos de bugs, refatoramentos, adições de funcionalidades, etc) pode afetar negativamente a eficácia da revisão de código. Para lidar com esse problema, Barnett et al. desenvolveram ClusterChanges — uma técnica de análise estática leve para decompor conjuntos de mudanças em partições diferentes que podem ser revisadas independentementes. Eles descobriram que ClusterChanges pode, de fato, criar partições diferentes para modificações independentes dentro do mesmo conjunto de mudança e que desenvolvedores concordam com sua decomposição. Porém, a implementação dos autores de ClusterChanges não está disponível publicamente e eles restringiram sua análise da técnica a projetos de software que são: i) de código fechado, (ii) escritos em C# e iii) desenvolvidos por uma única organização. Portanto, ainda há evidência empírica limitada da aplicabilidade de ClusterChanges para contextos diferentes. Para resolver essa situação, nós criamos JClusterChanges, uma implementação livre e de código aberto (FOSS) de ClusterChanges para software Java, e replicamos o estudo original de Barnett et al. usando uma amostra de 1000 pull requests oriundos de projetos de código aberto escritos em Java e armazenados do GitHub. Ao fazer isso, nós descobrimos que conjuntos de mudanças de código aberto também podem ser grandes e conter várias modificações independentes semelhantemente aos changesets do estudo original. Assim, nossa pesquisa confirma que o problema é tanto real quanto relevante para outros ambientes além do da Microsoft, aumenta o corpo de conhecimento sobre esse assunto e prove uma implementação FOSS de ClusterChanges que mostra que é possível implementar a técnica para outros contextos e que pode ser usada para auxiliar pesquisa futura nesse assunto.
Keywords: Engenharia de Software
Revisão de Código
Decomposição de Conjunto de Mudança
???metadata.dc.subject.cnpq???: Ciências
Ciência da Computação
URI: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/765
Appears in Collections:Mestrado em Ciência da Computação.

Files in This Item:
File Description SizeFormat 
VICTOR DA CUNHA LUNA FREIRE - DISSERTAÇÃO (PPGCC) 2016.pdf1.71 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.