Use este identificador para citar ou linkar para este item: https://repositorio.ufba.br/handle/ri/38912
Tipo: Dissertação
Título: Investigando a associação entre Rajadas de Mudanças e o Status da Build
Título(s) alternativo(s): Investigating the Association Between Change Bursts and Build Status
Autor(es): Macêdo Junior, Juvenal Constantino de
Primeiro Orientador: Souza, Rodrigo Rocha Gomes e
metadata.dc.contributor.advisor-co1: Motta, Tiago Oliveira
metadata.dc.contributor.referee1: Souza, Rodrigo Rocha Gomes e
metadata.dc.contributor.referee2: Santos, José Amancio Macedo
metadata.dc.contributor.referee3: Machado, Ivan do Carmo
Resumo: Rajadas de commits são sequências de modificações realizadas por desenvolvedores, que ocorrem no código dentro de um curto período de tempo. Em projetos que adotam a prática de Integração Contínua (IC), toda vez que uma modificação é finalizada, cria-se uma nova versão do código, gerando uma nova build. Nessa nova versão, as mudanças realizadas são verificadas automaticamente, executando testes de unidade e relatando o resultado de falha ou sucesso da build para os desenvolvedores. Nesse sentido, o objetivo desta pesquisa ´e realizar um estudo empírico para verificar a associação entre rajadas de commits e falhas na build. O primeiro passo foi a realização de um estudo empírico a partir da mineração de repositórios, por meio do qual se identificou a relação das rajadas de commits e falha na build. Após esse estudo, foi conduzido um survey, para se avaliar os resultados obtidos, considerando as opiniões de desenvolvedores que trabalham com IC. Dentre as descobertas realizadas, os resultados do primeiro estudo mostram que em alguns projetos a taxa de sucesso de builds após rajadas de mudanças tendem a diminuir. No entanto, não podemos generalizar os resultados para todos os projetos visto que, na maioria dos projetos estudados a diferença não foi estatisticamente significativa. No segundo estudo, a maioria dos participantes da pesquisa concordam que a proximidade da data de entrega de um projeto ´e um fator responsável pela rajada de commits e falha na build. No entanto, não podemos generalizar os resultados, visto que alguns desenvolvedores apresentaram pequenas discordâncias quanto aos responsáveis pela falha na build. Desse modo, os resultados deste trabalho pretendem contribuir com a comunidade de desenvolvedores que utilizam IC, ajudando-os a reduzir falhas na build, podendo orientar trabalhos futuros sobre boas práticas de desenvolvimento.
Abstract: Commit bursts are sequences of changes made by developers that occur in code within a short period of time. In projects that adopt the practice of Continuous Integration (CI), every time a modification is completed, a new version of the code is created, generating a new build. In this new version, the changes made are verified automatically, running unit tests and reporting the result of failure or success of build to the developers. In this sense, the objective of this research is to carry out an empirical study to verify the association between bursts of commits and failures in build. The first step was to carry out an empirical study based on the mining of deposits, through which the relationship between bursts of commits and construction failure was identified. After this study, a survey was followed to evaluate the results obtained, considering the opinions of developers who work with CI. Among the discoveries made, the results of the first study show that in some projects the success rate of builds after bursts of changes tends to decrease. However, we cannot generalize the results to all projects since, in most of the studied projects, the difference was not statistically significant. In the second study, most survey participants agree that the proximity of a project’s delivery data is a factor responsible for bursts of commits and build failure. However, we cannot generalize the results, since some developers had small disagreements about who was responsible for the construction failure. Thus, the results of this work intend to contribute to the community of developers who use CI, helping them to reduce failures in build, facilitating future work on good development practices.
Palavras-chave: Rajadas de mudanças
Integração contínua
Repositório de software
Controle de versão
Estudo empírico
Engenharia de software
CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
Idioma: por
País: Brasil
Editora / Evento / Instituição: Universidade Federal da Bahia
Sigla da Instituição: UFBA
metadata.dc.publisher.department: Instituto de Computação - IC
metadata.dc.publisher.program: Programa de Pós-Graduação em Ciência da Computação (PGCOMP) 
Citação: MACÊDO JUNIOR, Juvenal Constantino de. Investigando a associação entre Rajadas de Mudanças e o Status da Build. 2023. 49 f. Dissertação (Mestrado em Ciência da Computação) Instituto de Computação, Universidade Federal da Bahia, Salvador, Ba, 2023.
Tipo de Acesso: CC0 1.0 Universal
metadata.dc.rights.uri: http://creativecommons.org/publicdomain/zero/1.0/
URI: https://repositorio.ufba.br/handle/ri/38912
Data do documento: 18-Dez-2023
Aparece nas coleções:Dissertação (PGCOMP)

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
Juvenal Junior - Dissertacao-Mestrado.pdfDissertação de Mestrado - Juvenal Junior2,22 MBAdobe PDFVisualizar/Abrir
Ata_Defesa_Mestrado.pdfAta defesa Mestrado444,36 kBAdobe PDFVisualizar/Abrir


Este item está licenciada sob uma Licença Creative Commons Creative Commons