The effects of continuous integration on software development: a causal investigation

Detalhes bibliográficos
Autor(a) principal: Sousa Neto, Eliezio Soares de
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/57351
Resumo: Integração Contínua (Continuous Integration—CI) é uma técnica de engenharia de software comumente mencionada como um dos pilares das metodologias ágeis. CI tem como principal objetivo reduzir o custo e o risco da integração de código entre times de desenvolvimento. Para tal se preconiza a realização de commits frequentes para integrar o trabalho dos desenvolvedores em um repositório de código e a frequente verificação de qualidade através de builds e testes automatizados. Através do uso de CI espera-se que os times de desenvolvimento possam detectar e corrigir erros rapidamente, melhorando a produtividade dos times e a qualidade dos produtos de software desenvolvidos entre outros benefícios apontados por pesquisadores e praticantes. Estudos anteriores sobre o uso de CI apontam diversos benefícios em diversos aspectos do desenvolvimento de software, entretanto tais associações não estão mapeadas como um todo e também não são suficientes para concluir que CI seja de fato a causa de tais resultados. Portanto, este trabalho tem como objetivo investigar empiricamente tais efeitos da adoção de CI no desenvolvimento de software sob uma perspectiva causal. Primeiro, nós realizamos uma revisão sistemática de literatura para catalogar os achados de estudos que avaliaram empiricamente os efeitos da adoção de CI. Após explorar o conhecimento já documentado conduzimos dois estudos com o objetivo de aprofundar a compreensão a respeito de dois desses aspectos supostamente afetados pela adoção de CI: qualidade de software e a produtividade dos times de desenvolvimento. Nós pretendemos responder se há uma relação causal entre a adoção de CI e os efeitos reportados na literatura. Para isso utilizamos causal Direct Acyclic Graphs (causal DAGs) combinado a duas outras estratégias: revisão de literatura e um estudo de mineração de repositório de software (Mining Software Repository—MSR). Nossos resultados mostram um panorama dos efeitos de CI reportados na literatura e apontam que há de fato uma relação causal entre CI e qualidade de software.
id UFRN_b7e1fb0d823a4888e83cb3264611ee19
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/57351
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Sousa Neto, Eliezio Soares dehttp://lattes.cnpq.br/4774223109614503http://lattes.cnpq.br/0189095897739979Costa, Daniel Alencar daAranha, Eduardo Henrique da Silvahttp://lattes.cnpq.br/9520477461031645Maia, Marcelo de AlmeidaAlmeida, Rodrigo Bonifácio deMedeiros, Sérgio Queiroz deKulesza, Uirá2024-01-22T19:14:05Z2024-01-22T19:14:05Z2023-09-19SOUSA NETO, Eliezio Soares de. The effects of continuous integration on software development: a causal investigation. Orientador: Dr. Uirá Kulesza. 2023. 139f. 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/57351Integração Contínua (Continuous Integration—CI) é uma técnica de engenharia de software comumente mencionada como um dos pilares das metodologias ágeis. CI tem como principal objetivo reduzir o custo e o risco da integração de código entre times de desenvolvimento. Para tal se preconiza a realização de commits frequentes para integrar o trabalho dos desenvolvedores em um repositório de código e a frequente verificação de qualidade através de builds e testes automatizados. Através do uso de CI espera-se que os times de desenvolvimento possam detectar e corrigir erros rapidamente, melhorando a produtividade dos times e a qualidade dos produtos de software desenvolvidos entre outros benefícios apontados por pesquisadores e praticantes. Estudos anteriores sobre o uso de CI apontam diversos benefícios em diversos aspectos do desenvolvimento de software, entretanto tais associações não estão mapeadas como um todo e também não são suficientes para concluir que CI seja de fato a causa de tais resultados. Portanto, este trabalho tem como objetivo investigar empiricamente tais efeitos da adoção de CI no desenvolvimento de software sob uma perspectiva causal. Primeiro, nós realizamos uma revisão sistemática de literatura para catalogar os achados de estudos que avaliaram empiricamente os efeitos da adoção de CI. Após explorar o conhecimento já documentado conduzimos dois estudos com o objetivo de aprofundar a compreensão a respeito de dois desses aspectos supostamente afetados pela adoção de CI: qualidade de software e a produtividade dos times de desenvolvimento. Nós pretendemos responder se há uma relação causal entre a adoção de CI e os efeitos reportados na literatura. Para isso utilizamos causal Direct Acyclic Graphs (causal DAGs) combinado a duas outras estratégias: revisão de literatura e um estudo de mineração de repositório de software (Mining Software Repository—MSR). Nossos resultados mostram um panorama dos efeitos de CI reportados na literatura e apontam que há de fato uma relação causal entre CI e qualidade de software.Continuous Integration (CI) is a software engineering technique usually mentioned as one of the foundations of agile methodologies. The main objective of CI is to reduce the cost and risk of code integration among development teams. For such, it preconizes frequent commits to integrate the work from developers into a source code repository and the frequent quality verification via automated builds and tests. Through CI usage, it is expected that development teams can quickly detect and correct issues, improving team productivity and software quality, among other benefits pointed out by researchers and practitioners. Previous studies regarding CI usage highlight several benefits in software development aspects. However, such associations are not mapped as a whole and are not sufficient to conclude that CI is indeed the cause of such results. Therefore, the main goal of this work is to investigate the effects of CI adoption on software development from a causal perspective. First, we conducted a systematic literature review to catalog the findings from studies that empirically evaluated the effects of adopting CI. After exploring the existing state-of-the-art, we conducted two studies to deepen the comprehension regarding two aspects supposedly impacted by CI: software quality and teams’ productivity. We investigate if there is a causal relationship between CI adoption and such literature-reported effects. For this purpose, we employ causal Direct Acyclic Graphs (causal DAGs) combined with two other strategies: a literature review and a mining software repository (MSR) study. Our results show a panoramic view of CI literaturereported effects and point out that, indeed, there is a causal relationship between CI and software quality.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çãoIntegração contínuaCausalidadeQualidade de softwareContinuous integrationCausationSoftware qualityThe effects of continuous integration on software development: a causal investigationinfo: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:UFRNORIGINALEffectscontinuousintegration_SousaNeto_2023.pdfapplication/pdf3810685https://repositorio.ufrn.br/bitstream/123456789/57351/1/Effectscontinuousintegration_SousaNeto_2023.pdf140798bcda293fd7ef4510e46f4d5f3aMD51123456789/573512024-01-22 16:14:51.939oai:https://repositorio.ufrn.br:123456789/57351Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2024-01-22T19:14:51Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.pt_BR.fl_str_mv The effects of continuous integration on software development: a causal investigation
title The effects of continuous integration on software development: a causal investigation
spellingShingle The effects of continuous integration on software development: a causal investigation
Sousa Neto, Eliezio Soares de
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
Computação
Integração contínua
Causalidade
Qualidade de software
Continuous integration
Causation
Software quality
title_short The effects of continuous integration on software development: a causal investigation
title_full The effects of continuous integration on software development: a causal investigation
title_fullStr The effects of continuous integration on software development: a causal investigation
title_full_unstemmed The effects of continuous integration on software development: a causal investigation
title_sort The effects of continuous integration on software development: a causal investigation
author Sousa Neto, Eliezio Soares de
author_facet Sousa Neto, Eliezio Soares de
author_role author
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/4774223109614503
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 Maia, Marcelo de Almeida
dc.contributor.referees3.none.fl_str_mv Almeida, Rodrigo Bonifácio de
dc.contributor.referees4.none.fl_str_mv Medeiros, Sérgio Queiroz de
dc.contributor.author.fl_str_mv Sousa Neto, Eliezio Soares de
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
Integração contínua
Causalidade
Qualidade de software
Continuous integration
Causation
Software quality
dc.subject.por.fl_str_mv Computação
Integração contínua
Causalidade
Qualidade de software
Continuous integration
Causation
Software quality
description Integração Contínua (Continuous Integration—CI) é uma técnica de engenharia de software comumente mencionada como um dos pilares das metodologias ágeis. CI tem como principal objetivo reduzir o custo e o risco da integração de código entre times de desenvolvimento. Para tal se preconiza a realização de commits frequentes para integrar o trabalho dos desenvolvedores em um repositório de código e a frequente verificação de qualidade através de builds e testes automatizados. Através do uso de CI espera-se que os times de desenvolvimento possam detectar e corrigir erros rapidamente, melhorando a produtividade dos times e a qualidade dos produtos de software desenvolvidos entre outros benefícios apontados por pesquisadores e praticantes. Estudos anteriores sobre o uso de CI apontam diversos benefícios em diversos aspectos do desenvolvimento de software, entretanto tais associações não estão mapeadas como um todo e também não são suficientes para concluir que CI seja de fato a causa de tais resultados. Portanto, este trabalho tem como objetivo investigar empiricamente tais efeitos da adoção de CI no desenvolvimento de software sob uma perspectiva causal. Primeiro, nós realizamos uma revisão sistemática de literatura para catalogar os achados de estudos que avaliaram empiricamente os efeitos da adoção de CI. Após explorar o conhecimento já documentado conduzimos dois estudos com o objetivo de aprofundar a compreensão a respeito de dois desses aspectos supostamente afetados pela adoção de CI: qualidade de software e a produtividade dos times de desenvolvimento. Nós pretendemos responder se há uma relação causal entre a adoção de CI e os efeitos reportados na literatura. Para isso utilizamos causal Direct Acyclic Graphs (causal DAGs) combinado a duas outras estratégias: revisão de literatura e um estudo de mineração de repositório de software (Mining Software Repository—MSR). Nossos resultados mostram um panorama dos efeitos de CI reportados na literatura e apontam que há de fato uma relação causal entre CI e qualidade de software.
publishDate 2023
dc.date.issued.fl_str_mv 2023-09-19
dc.date.accessioned.fl_str_mv 2024-01-22T19:14:05Z
dc.date.available.fl_str_mv 2024-01-22T19:14:05Z
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 SOUSA NETO, Eliezio Soares de. The effects of continuous integration on software development: a causal investigation. Orientador: Dr. Uirá Kulesza. 2023. 139f. 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/57351
identifier_str_mv SOUSA NETO, Eliezio Soares de. The effects of continuous integration on software development: a causal investigation. Orientador: Dr. Uirá Kulesza. 2023. 139f. 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/57351
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/57351/1/Effectscontinuousintegration_SousaNeto_2023.pdf
bitstream.checksum.fl_str_mv 140798bcda293fd7ef4510e46f4d5f3a
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_ 1814832913304256512