Please use this identifier to cite or link to this item: http://repositorio.ufc.br/handle/riufc/65415
Type: TCC
Title: Investigando fatores que afetam o tempo de correção de erros de integração contínua
Authors: Silva, Gustavo Ivens Oliveira
Advisor: Bezerra, Carla Ilane Moreira
Keywords: Integração contínua;Erros;Software;Regras de associação
Issue Date: 2022
Citation: SILVA, Gustavo Ivens Oliveira. Investigando fatores que afetam o tempo de correção de erros de integração contínua. 2022. 55 f. Trabalho de Conclusão de Curso (Graduação em Engenharia de Software)-Universidade Federal do Ceará, Campus de Quixadá, Quixadá, 2022.
Abstract in Brazilian Portuguese: Integração Contínua (IC) é uma importante prática da Engenharia de Software Moderna. IC sugere que os desenvolvedores integrem suas mudanças locais com a linha de base do projeto de modo frequente, idealmente diversas vezes aos dia, para tornar a incorporação dessas mudanças uma tarefa mais fácil e rápida. Tal prática é hoje amplamente adotada por diversos projetos de código aberto e fechado em razão principalmente dos benefícios que pode ocasionar ao projeto, tais como o aumento da qualidade do software produzido e uma maior agilidade no desenvolvimento. Diante dessa ampla adoção da prática de IC, diversas pesquisas empíricas tem sido realizadas para estudar diferentes aspectos ligados a este tema. Algumas dessas pesquisas enfocam a análise de builds falhos e demostraram que o tempo de correção de erros de IC, que são erros que ocorrem durante a integração das mudanças enviados pelo desenvolvedor, é bastante alto. Isto configura um fator problemático por conta das atividades de desenvolvimento efetivamente produtivas, como a adição de novas features e a correção de bugs, ficarem pausados enquanto os desenvolvedores trabalham na análise e correção dos erros de integração ocorridos. Desta forma, este trabalho tem como objetivo analisar a influência do perfil do desenvolvedor, das características do projeto e da complexidade do build no tempo de correção de erros de IC, para analisar o que faz a correção desse tipo de erro demorar mais ou menos tempo para ser concluída. Para atingir esse objetivo foram extraídos builds falhos de 18 projetos de código-fechado de uma grande empresa de desenvolvimento de software e calculado para cada um deles um conjunto de 12 métricas extraídas da literatura sobre análise de falhas de build. Para analisar a relação entre os fatores definidos e o tempo de correção, foi aplicado na base de dados formada pelo valor das métricas de cada build falho uma técnica de mineração de dados denominada extração de regras de associação. Isso permitiu revelar correlações significativas entre os fatores estudados e a duração do intervalo de correção de erros de IC. Os resultados obtidos sugerem que: (i) desenvolvedores mais experientes levam menos tempo para corrigir erros de IC, (ii) builds falhos originados em fases inicias do projeto são resolvidos em pequenos intervalos de tempo, e (iii) builds mais complexos podem tornar o intervalo de correção mais longo.
Abstract: Continuous Integration (CI) is an important practice of Modern Software Engineering. CI suggests that developers integrate their local changes with the project baseline frequently, ideally several times a day, to make incorporating them more accessible and faster. This practice is now widely adopted by several open and closed-source projects mainly due to its benefits to the project, such as increased quality of the software produced and greater agility in development. Given this broad adoption of CI practice, several empirical kinds of research have been conducted to study different aspects of this topic. Some of these researches focus on the analysis of failed builds and have shown that the time to correct CI errors, which occur during the integration of changes submitted by the developer, is relatively high. This configures a problematic factor because the effectively productive development activities, such as adding new features and the correction of bugs, are paused. At the same time, the developers work on the analysis and correction of the integration errors that occurred. In this way, this work aims to analyze the influence of the developer profile, the characteristics of the project and the complexity of the build on the correction time of CI errors to analyze what makes the correction of this type of error take time more or less time to complete. To achieve this goal, flawed builds were extracted from 18 closed-source projects of a large software development company and a set of 12 metrics extracted from the literature on the analysis of build flaws were calculated for each of them. To analyze the relationship between the defined factors and the correction time, a data mining technique called association rule extraction was applied to the database formed by the value of the metrics of each failed build. This allowed revealing significant correlations between the factors studied and the duration of the CI error correction interval. The results obtained suggest that: (i) more experienced developers take less time to correct CI errors, (ii) builds flaws that originated in early phases of the project are resolved in small time intervals, and (iii) more complex builds can make the fixed interval longer.
URI: http://www.repositorio.ufc.br/handle/riufc/65415
Appears in Collections:ENGENHARIA DE SOFTWARE - QUIXADÁ - TCC

Files in This Item:
File Description SizeFormat 
2021_tcc_giosilva.pdf743,35 kBAdobe PDFView/Open


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