Entendendo a relação entre integração contínua e cobertura de código

dc.contributor.advisorKulesza, Uirá
dc.contributor.advisor-co1Costa, Daniel Alencar da
dc.contributor.advisorLatteshttp://lattes.cnpq.br/0189095897739979pt_BR
dc.contributor.authorSilva, José Diego Saraiva da
dc.contributor.authorIDhttps://orcid.org/0000-0002-2512-6692pt_BR
dc.contributor.authorLatteshttp://lattes.cnpq.br/2222003891382006pt_BR
dc.contributor.referees1Aranha, Eduardo Henrique da Silva
dc.contributor.referees1Latteshttp://lattes.cnpq.br/9520477461031645pt_BR
dc.contributor.referees2Coelho, Roberta de Souza
dc.contributor.referees3Pinto, Gustavo Henrique Lima
dc.contributor.referees4Almeida, Rodrigo Bonifácio de
dc.date.accessioned2023-08-18T20:25:26Z
dc.date.available2023-08-18T20:25:26Z
dc.date.issued2023-05-31
dc.description.abstractContinuous Integration (CI) is a widely adopted software engineering practice emphasizing frequent software integration through an automated build process. Although CI has been shown to detect errors earlier in the software life cycle, the relationship between CI and code coverage still needs to be clarified. Our work aims to fill this gap by investigating the quantitative and qualitative aspects of this relationship. In the quantitative study, we compare 30 CI projects and 30 projects that have never adopted CI (NOCI projects) to investigate whether CI is associated with higher code coverage rates. We analyzed 1,440 versions from different projects to identify trends in code coverage. Our findings reveal a positive association between CI and higher code coverage rates. Our qualitative study consisted of a survey and a document analysis. The survey revealed several significant findings, including a positive association between continuous integration (CI) and higher code coverage rates, indicating the value of CI in promoting testing practices. Additionally, our survey highlighted the importance of using code coverage during the authoring and review process, which can help identify potential issues early in the development cycle. The document analysis focused on coverage-related themes in pull request conversations in CI-enabled projects. Through this analysis, we discovered the main topics related to coverage usage during pull requests, which can provide valuable insights into how developers use coverage to improve code quality. This information can help guide the development of best practices for using coverage in CI-enabled projects, ultimately improving the quality and reliability of software products. Our work offers insights into the evolution of code coverage in CI, which can assist researchers and practitioners in adopting tools and practices for better monitoring, maintenance, and even enhancement of code coverage.pt_BR
dc.description.resumoIntegração contínua, em inglês Continuous Integration (CI), é uma prática amplamente adotada na engenharia de software que enfatiza a integração frequente do software por meio de um processo de builds automatizado. Embora tenha sido demonstrado que a CI detecta erros mais cedo no ciclo de vida do software, a relação entre CI e cobertura de código ainda precisa ser esclarecida. Nosso trabalho tem como objetivo preencher essa lacuna investigando os aspectos quantitativos e qualitativos dessa relação. No estudo quantitativo, comparamos 30 projetos com CI e 30 projetos que nunca adotaram CI (projetos NOCI) para investigar se a CI está associada a maiores taxas de cobertura de código. Analisamos 1.440 versões de diferentes projetos para identificar tendências na cobertura de código. Nossas descobertas revelam uma associação positiva entre a CI e maiores taxas de cobertura de código. Nosso estudo qualitativo consistiu em um survey e uma análise de documentos. A pesquisa revelou várias descobertas significativas, incluindo uma associação positiva entre a integração contínua (CI) e maiores taxas de cobertura de código, indicando o valor da CI na promoção de práticas de teste. Ademais, nossa pesquisa enfatizou a relevância do uso de cobertura de código durante o processo de autoria e revisão, pois isso pode auxiliar na detecção precoce de possíveis problemas ao longo do ciclo de desenvolvimento. A análise de documentos se concentrou em temas relacionados à cobertura nas discussões dos Pull Requests de projetos que adotam CI. A partir dessa análise, identificamos os principais tópicos associados ao uso da cobertura durante os Pull Requests, o que pode fornecer informações valiosas sobre como os desenvolvedores utilizam a cobertura para aprimorar a qualidade do código. Essas informações são capazes de orientar o desenvolvimento de melhores práticas para o uso da cobertura em projetos que adotam CI, contribuindo para aprimorar a qualidade e a confiabilidade dos produtos de software. O nosso trabalho permitiu encontrar percepções sobre a evolução da cobertura de código em projetos que adotam CI, as quais podem auxiliar pesquisadores e profissionais a adotarem ferramentas e práticas para monitorar, manter e, inclusive, aprimorar a cobertura de código.pt_BR
dc.identifier.citationSILVA, José Diego Saraiva da. Understanding the relationship between continuous integration and code coverage. Orientador: Uirá Kulesza. 2023. 147f. Tese (Doutorado em Ciência da Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2023.pt_BR
dc.identifier.urihttps://repositorio.ufrn.br/handle/123456789/54543
dc.languagept_BRpt_BR
dc.publisherUniversidade Federal do Rio Grande do Nortept_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.initialsUFRNpt_BR
dc.publisher.programPROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃOpt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectComputaçãopt_BR
dc.subjectTeste de softwarept_BR
dc.subjectIntegração contínuapt_BR
dc.subjectCobertura de códigopt_BR
dc.subjectEstudo empíricopt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOpt_BR
dc.titleEntendendo a relação entre integração contínua e cobertura de códigopt_BR
dc.title.alternativeUnderstanding the relationship between continuous integration and code coveragept_BR
dc.typedoctoralThesispt_BR

Arquivos

Pacote Original

Agora exibindo 1 - 1 de 1
Nenhuma Miniatura disponível
Nome:
Entendendorelacaoentreintegracao_Silva_2023.pdf
Tamanho:
1.52 MB
Formato:
Adobe Portable Document Format
Nenhuma Miniatura disponível
Baixar