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

Detalhes bibliográficos
Autor(a) principal: Silva, José Diego Saraiva da
Data de Publicação: 2023
Tipo de documento: Tese
Idioma: por
Título da fonte: Repositório Institucional da UFRN
Texto Completo: https://repositorio.ufrn.br/handle/123456789/54543
Resumo: 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.
id UFRN_132e5dab54cd6f9e14436d233f156620
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/54543
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Silva, José Diego Saraiva dahttps://orcid.org/0000-0002-2512-6692http://lattes.cnpq.br/2222003891382006http://lattes.cnpq.br/0189095897739979Costa, Daniel Alencar daAranha, Eduardo Henrique da Silvahttp://lattes.cnpq.br/9520477461031645Coelho, Roberta de SouzaPinto, Gustavo Henrique LimaAlmeida, Rodrigo Bonifácio deKulesza, Uirá2023-08-18T20:25:26Z2023-08-18T20:25:26Z2023-05-31SILVA, 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/54543Integraçã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.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.Universidade Federal do Rio Grande do NortePROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃOUFRNBrasilCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOComputaçãoTeste de softwareIntegração contínuaCobertura de códigoEstudo empíricoEntendendo a relação entre integração contínua e cobertura de códigoUnderstanding the relationship between continuous integration and code coverageinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNORIGINALEntendendorelacaoentreintegracao_Silva_2023.pdfapplication/pdf1595066https://repositorio.ufrn.br/bitstream/123456789/54543/1/Entendendorelacaoentreintegracao_Silva_2023.pdf3d53d38650046924920ce9db23f76b46MD51123456789/545432023-08-18 17:26:08.735oai:https://repositorio.ufrn.br:123456789/54543Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2023-08-18T20:26:08Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.pt_BR.fl_str_mv Entendendo a relação entre integração contínua e cobertura de código
dc.title.alternative.pt_BR.fl_str_mv Understanding the relationship between continuous integration and code coverage
title Entendendo a relação entre integração contínua e cobertura de código
spellingShingle Entendendo a relação entre integração contínua e cobertura de código
Silva, José Diego Saraiva da
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
Computação
Teste de software
Integração contínua
Cobertura de código
Estudo empírico
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
author Silva, José Diego Saraiva da
author_facet Silva, José Diego Saraiva da
author_role author
dc.contributor.authorID.pt_BR.fl_str_mv https://orcid.org/0000-0002-2512-6692
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/2222003891382006
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/0189095897739979
dc.contributor.referees1.none.fl_str_mv Aranha, Eduardo Henrique da Silva
dc.contributor.referees1Lattes.pt_BR.fl_str_mv http://lattes.cnpq.br/9520477461031645
dc.contributor.referees2.none.fl_str_mv Coelho, Roberta de Souza
dc.contributor.referees3.none.fl_str_mv Pinto, Gustavo Henrique Lima
dc.contributor.referees4.none.fl_str_mv Almeida, Rodrigo Bonifácio de
dc.contributor.author.fl_str_mv Silva, José Diego Saraiva da
dc.contributor.advisor-co1.fl_str_mv Costa, Daniel Alencar da
dc.contributor.advisor1.fl_str_mv Kulesza, Uirá
contributor_str_mv Costa, Daniel Alencar da
Kulesza, Uirá
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
Computação
Teste de software
Integração contínua
Cobertura de código
Estudo empírico
dc.subject.por.fl_str_mv Computação
Teste de software
Integração contínua
Cobertura de código
Estudo empírico
description 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.
publishDate 2023
dc.date.accessioned.fl_str_mv 2023-08-18T20:25:26Z
dc.date.available.fl_str_mv 2023-08-18T20:25:26Z
dc.date.issued.fl_str_mv 2023-05-31
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv 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.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/handle/123456789/54543
identifier_str_mv 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.
url https://repositorio.ufrn.br/handle/123456789/54543
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.publisher.program.fl_str_mv PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO
dc.publisher.initials.fl_str_mv UFRN
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
bitstream.url.fl_str_mv https://repositorio.ufrn.br/bitstream/123456789/54543/1/Entendendorelacaoentreintegracao_Silva_2023.pdf
bitstream.checksum.fl_str_mv 3d53d38650046924920ce9db23f76b46
bitstream.checksumAlgorithm.fl_str_mv MD5
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv
_version_ 1802117786658406400