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

Continuous 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...

ver descrição completa

Na minha lista:
Detalhes bibliográficos
Autor principal: Silva, José Diego Saraiva da
Outros Autores: Kulesza, Uirá
Formato: doctoralThesis
Idioma:pt_BR
Publicado em: Universidade Federal do Rio Grande do Norte
Assuntos:
Endereço do item:https://repositorio.ufrn.br/handle/123456789/54543
Tags: Adicionar Tag
Sem tags, seja o primeiro a adicionar uma tag!
id ri-123456789-54543
record_format dspace
institution Repositório Institucional
collection RI - UFRN
language pt_BR
topic Computação
Teste de software
Integração contínua
Cobertura de código
Estudo empírico
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
spellingShingle Computação
Teste de software
Integração contínua
Cobertura de código
Estudo empírico
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
Silva, José Diego Saraiva da
Entendendo a relação entre integração contínua e cobertura de código
description Continuous 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.
author2 Kulesza, Uirá
author_facet Kulesza, Uirá
Silva, José Diego Saraiva da
format doctoralThesis
author Silva, José Diego Saraiva da
author_sort Silva, José Diego Saraiva da
title Entendendo a relação entre integração contínua e cobertura de código
title_short Entendendo a relação entre integração contínua e cobertura de código
title_full Entendendo a relação entre integração contínua e cobertura de código
title_fullStr Entendendo a relação entre integração contínua e cobertura de código
title_full_unstemmed Entendendo a relação entre integração contínua e cobertura de código
title_sort entendendo a relação entre integração contínua e cobertura de código
publisher Universidade Federal do Rio Grande do Norte
publishDate 2023
url https://repositorio.ufrn.br/handle/123456789/54543
work_keys_str_mv AT silvajosediegosaraivada entendendoarelacaoentreintegracaocontinuaecoberturadecodigo
AT silvajosediegosaraivada understandingtherelationshipbetweencontinuousintegrationandcodecoverage
_version_ 1774866367887966208
spelling ri-123456789-545432023-08-18T20:26:08Z Entendendo a relação entre integração contínua e cobertura de código Understanding the relationship between continuous integration and code coverage Silva, José Diego Saraiva da Kulesza, Uirá https://orcid.org/0000-0002-2512-6692 http://lattes.cnpq.br/2222003891382006 http://lattes.cnpq.br/0189095897739979 Costa, Daniel Alencar da Aranha, Eduardo Henrique da Silva http://lattes.cnpq.br/9520477461031645 Coelho, Roberta de Souza Pinto, Gustavo Henrique Lima Almeida, Rodrigo Bonifácio de Computação Teste de software Integração contínua Cobertura de código Estudo empírico CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO Continuous 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. Integraçã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. 2023-08-18T20:25:26Z 2023-08-18T20:25:26Z 2023-05-31 doctoralThesis SILVA, 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. https://repositorio.ufrn.br/handle/123456789/54543 pt_BR Acesso Aberto application/pdf Universidade Federal do Rio Grande do Norte Brasil UFRN PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO