The effects of continuous integration on software development: a causal investigation
Autor(a) principal: | |
---|---|
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 |