The impact of adopting continuous integration on the delivery time of merged pull requests: an empirical study

Detalhes bibliográficos
Autor(a) principal: Bernardo, João Helis Júnior de Azevedo
Data de Publicação: 2017
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFRN
Texto Completo: https://repositorio.ufrn.br/jspui/handle/123456789/24208
Resumo: A Integração Contínua (IC) é uma prática de desenvolvimento de software que leva os desenvolvedores a integrarem seu código-fonte mais frequentemente. Projetos de software têm adotado amplamente a IC com o intuito de melhorar a integração de código e lançar novas releases mais rapidamente para os seus usuários. A adoção da IC é usualmente motivada pela atração de entregar novas funcionalidades do software de forma mais rápida e frequente. Todavia, há poucas evidências empíricas para justificar tais alegações. Ao longo dos últimos anos, muitos projetos de software disponíveis em ambientes de codificação social, como o GitHub, tem adotado a prática da IC usando serviços que podem ser facilmente integrados nesses ambientes (por exemplo, Travis-CI). Esta dissertação investiga empiricamente o impacto da adoção da IC no tempo de entrega de pull requests (PRs), através da análise de 167.037 PRs de 90 projetos do GitHub que são implementados em 5 linguagens de programação diferentes. Ao analisar a porcentagem de merged PRs por projeto que perderam pelo menos uma release antes de serem entregues aos usuários finais, os resultados mostraram que antes da adoção da IC, em mediana 13.8% dos merged PRs tem sua entrega adiada por pelo menos um release, enquanto que após a adoção da IC, em mediana 24% dos merged PRs tem sua entrega adiada para futuras releases. Ao contrário do que se pode especular, observou-se que PRs tendem a esperar mais tempo para serem entregues após a adoção da IC na maioria (53%) dos projetos investigados. O grande aumento das submissões de PRs após a IC é uma razão fundamental para que projetos demorem mais tempo para entregar PRs depois da adoção da IC. 77,8% dos projetos aumentam a taxa de submissões de PRs após a adoção da IC. Com o propósito de investigar os fatores relacionados ao tempo de entrega de merged PRs, treinou-se modelos de regressão linear e logística, os quais obtiveram R-Quadrado mediano de 0.72-0.74 e bons valores medianos de AUC de 0.85-0.90. Análises mais profundas de nossos modelos sugerem que, antes e depois da adoção da IC, a intensidade das contribuições de código para uma release pode aumentar o tempo de entrega de PRs devido a uma maior carga de integração (em termos de commits integrados) da equipe de desenvolvimento. Finalmente, apresentamos heurísticas capazes de identificar com precisão os PRs que possuem um tempo de entrega prolongado. Nossos modelos de regressão obtiveram valores de AUC mediano de 0.92 a 0.97.
id UFRN_bfa2f35c909a8736c2f798cf5542a265
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/24208
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Bernardo, João Helis Júnior de Azevedohttp://lattes.cnpq.br/7977641264944574http://lattes.cnpq.br/0189095897739979http://lattes.cnpq.br/0189095897739979Costa, Daniel Alencar dahttp://lattes.cnpq.br/4134189443162798Aranha, Eduardo Henrique da Silvahttp://lattes.cnpq.br/9520477461031645Maia, Marcelo de Almeidahttp://lattes.cnpq.br/4915659948263445Coelho, Roberta de Souzahttp://lattes.cnpq.br/9854634275938452Kulesza, Uira2017-11-07T22:16:31Z2017-11-07T22:16:31Z2017-07-31BERNARDO, João Helis Júnior de Azevedo. The impact of adopting continuous integration on the delivery time of merged pull requests: an empirical study. 2017. 96f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2017.https://repositorio.ufrn.br/jspui/handle/123456789/24208A Integração Contínua (IC) é uma prática de desenvolvimento de software que leva os desenvolvedores a integrarem seu código-fonte mais frequentemente. Projetos de software têm adotado amplamente a IC com o intuito de melhorar a integração de código e lançar novas releases mais rapidamente para os seus usuários. A adoção da IC é usualmente motivada pela atração de entregar novas funcionalidades do software de forma mais rápida e frequente. Todavia, há poucas evidências empíricas para justificar tais alegações. Ao longo dos últimos anos, muitos projetos de software disponíveis em ambientes de codificação social, como o GitHub, tem adotado a prática da IC usando serviços que podem ser facilmente integrados nesses ambientes (por exemplo, Travis-CI). Esta dissertação investiga empiricamente o impacto da adoção da IC no tempo de entrega de pull requests (PRs), através da análise de 167.037 PRs de 90 projetos do GitHub que são implementados em 5 linguagens de programação diferentes. Ao analisar a porcentagem de merged PRs por projeto que perderam pelo menos uma release antes de serem entregues aos usuários finais, os resultados mostraram que antes da adoção da IC, em mediana 13.8% dos merged PRs tem sua entrega adiada por pelo menos um release, enquanto que após a adoção da IC, em mediana 24% dos merged PRs tem sua entrega adiada para futuras releases. Ao contrário do que se pode especular, observou-se que PRs tendem a esperar mais tempo para serem entregues após a adoção da IC na maioria (53%) dos projetos investigados. O grande aumento das submissões de PRs após a IC é uma razão fundamental para que projetos demorem mais tempo para entregar PRs depois da adoção da IC. 77,8% dos projetos aumentam a taxa de submissões de PRs após a adoção da IC. Com o propósito de investigar os fatores relacionados ao tempo de entrega de merged PRs, treinou-se modelos de regressão linear e logística, os quais obtiveram R-Quadrado mediano de 0.72-0.74 e bons valores medianos de AUC de 0.85-0.90. Análises mais profundas de nossos modelos sugerem que, antes e depois da adoção da IC, a intensidade das contribuições de código para uma release pode aumentar o tempo de entrega de PRs devido a uma maior carga de integração (em termos de commits integrados) da equipe de desenvolvimento. Finalmente, apresentamos heurísticas capazes de identificar com precisão os PRs que possuem um tempo de entrega prolongado. Nossos modelos de regressão obtiveram valores de AUC mediano de 0.92 a 0.97.Continuous Integration (CI) is a software development practice that leads developers to integrate their work more frequently. Software projects have broadly adopted CI to ship new releases more frequently and to improve code integration. The adoption of CI is usually motivated by the allure of delivering new software content more quickly and frequently. However, there is little empirical evidence to support such claims. Over the last years, many available software projects from social coding environments such as GitHub have adopted the CI practice using CI facilities that are integrated in these environments (e.g., Travis-CI). In this dissertation, we empirically investigate the impact of adopting CI on the time-to-delivery of pull requests (PRs), through the analysis of 167,037 PRs of 90 GitHub projects that are implemented in 5 different programming languages. On analyzing the percentage of merged PRs per project that missed at least one release prior being delivered to the end users, the results show that before adopting CI, a median of 13.8% of merged PRs are postponed by at least one release, while after adopting CI, a median of 24% of merged PRs have their delivery postponed to future releases. Contrary to what one might speculate, we find that PRs tend to wait longer to be delivered after the adoption of CI in the majority (53%) of the studied projects. The large increase of PR submissions after CI is a key reason as to why these projects deliver PRs more slowly after adopting CI. 77.8% of the projects increase the rate of PR submissions after adopting CI. To investigate the factors that are related to the time-to-delivery of merged PRs, we train linear and logistic regression models, which obtain sound median R-squares of 0.72-0.74, and good median AUC values of 0.85-0.90. A deeper analysis of our models suggests that, before and after the adoption of CI, the intensity of code contributions to a release may increase the delivery time due to a higher integration-load (in terms of integrated commits) of the development team. Finally, we are able to accurately identify merged pull requests that have a prolonged delivery time. Our regression models obtained median AUC values of 0.92 to 0.97.Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq)porCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOIntegração contínuaDesenvolvimento baseado em Pull RequestsPull RequestTempo de entregaAtraso de entregaMineração de repositórios de softwareThe impact of adopting continuous integration on the delivery time of merged pull requests: an empirical studyinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisPROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃOUFRNBrasilinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNORIGINALJoaoHelisJuniorDeAzevedoBernardo_DISSERT.pdfJoaoHelisJuniorDeAzevedoBernardo_DISSERT.pdfapplication/pdf3505929https://repositorio.ufrn.br/bitstream/123456789/24208/1/JoaoHelisJuniorDeAzevedoBernardo_DISSERT.pdfc4d6a37febd3ad8ecc3a2536e6beee7eMD51TEXTJoaoHelisJuniorDeAzevedoBernardo_DISSERT.pdf.txtJoaoHelisJuniorDeAzevedoBernardo_DISSERT.pdf.txtExtracted texttext/plain195869https://repositorio.ufrn.br/bitstream/123456789/24208/2/JoaoHelisJuniorDeAzevedoBernardo_DISSERT.pdf.txta4d4de9f4fb936f449441c719cdfd177MD52THUMBNAILJoaoHelisJuniorDeAzevedoBernardo_DISSERT.pdf.jpgJoaoHelisJuniorDeAzevedoBernardo_DISSERT.pdf.jpgIM Thumbnailimage/jpeg3771https://repositorio.ufrn.br/bitstream/123456789/24208/3/JoaoHelisJuniorDeAzevedoBernardo_DISSERT.pdf.jpga8f175828531e9527eb7e8c7e1ebb697MD53123456789/242082022-04-12 19:11:55.428oai:https://repositorio.ufrn.br:123456789/24208Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2022-04-12T22:11:55Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.pt_BR.fl_str_mv The impact of adopting continuous integration on the delivery time of merged pull requests: an empirical study
title The impact of adopting continuous integration on the delivery time of merged pull requests: an empirical study
spellingShingle The impact of adopting continuous integration on the delivery time of merged pull requests: an empirical study
Bernardo, João Helis Júnior de Azevedo
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
Integração contínua
Desenvolvimento baseado em Pull Requests
Pull Request
Tempo de entrega
Atraso de entrega
Mineração de repositórios de software
title_short The impact of adopting continuous integration on the delivery time of merged pull requests: an empirical study
title_full The impact of adopting continuous integration on the delivery time of merged pull requests: an empirical study
title_fullStr The impact of adopting continuous integration on the delivery time of merged pull requests: an empirical study
title_full_unstemmed The impact of adopting continuous integration on the delivery time of merged pull requests: an empirical study
title_sort The impact of adopting continuous integration on the delivery time of merged pull requests: an empirical study
author Bernardo, João Helis Júnior de Azevedo
author_facet Bernardo, João Helis Júnior de Azevedo
author_role author
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/7977641264944574
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/0189095897739979
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.referees2Lattes.pt_BR.fl_str_mv http://lattes.cnpq.br/4915659948263445
dc.contributor.referees3.none.fl_str_mv Coelho, Roberta de Souza
dc.contributor.referees3Lattes.pt_BR.fl_str_mv http://lattes.cnpq.br/9854634275938452
dc.contributor.author.fl_str_mv Bernardo, João Helis Júnior de Azevedo
dc.contributor.advisor-co1.fl_str_mv Costa, Daniel Alencar da
dc.contributor.advisor-co1Lattes.fl_str_mv http://lattes.cnpq.br/4134189443162798
dc.contributor.advisor1.fl_str_mv Kulesza, Uira
contributor_str_mv Costa, Daniel Alencar da
Kulesza, Uira
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
Integração contínua
Desenvolvimento baseado em Pull Requests
Pull Request
Tempo de entrega
Atraso de entrega
Mineração de repositórios de software
dc.subject.por.fl_str_mv Integração contínua
Desenvolvimento baseado em Pull Requests
Pull Request
Tempo de entrega
Atraso de entrega
Mineração de repositórios de software
description A Integração Contínua (IC) é uma prática de desenvolvimento de software que leva os desenvolvedores a integrarem seu código-fonte mais frequentemente. Projetos de software têm adotado amplamente a IC com o intuito de melhorar a integração de código e lançar novas releases mais rapidamente para os seus usuários. A adoção da IC é usualmente motivada pela atração de entregar novas funcionalidades do software de forma mais rápida e frequente. Todavia, há poucas evidências empíricas para justificar tais alegações. Ao longo dos últimos anos, muitos projetos de software disponíveis em ambientes de codificação social, como o GitHub, tem adotado a prática da IC usando serviços que podem ser facilmente integrados nesses ambientes (por exemplo, Travis-CI). Esta dissertação investiga empiricamente o impacto da adoção da IC no tempo de entrega de pull requests (PRs), através da análise de 167.037 PRs de 90 projetos do GitHub que são implementados em 5 linguagens de programação diferentes. Ao analisar a porcentagem de merged PRs por projeto que perderam pelo menos uma release antes de serem entregues aos usuários finais, os resultados mostraram que antes da adoção da IC, em mediana 13.8% dos merged PRs tem sua entrega adiada por pelo menos um release, enquanto que após a adoção da IC, em mediana 24% dos merged PRs tem sua entrega adiada para futuras releases. Ao contrário do que se pode especular, observou-se que PRs tendem a esperar mais tempo para serem entregues após a adoção da IC na maioria (53%) dos projetos investigados. O grande aumento das submissões de PRs após a IC é uma razão fundamental para que projetos demorem mais tempo para entregar PRs depois da adoção da IC. 77,8% dos projetos aumentam a taxa de submissões de PRs após a adoção da IC. Com o propósito de investigar os fatores relacionados ao tempo de entrega de merged PRs, treinou-se modelos de regressão linear e logística, os quais obtiveram R-Quadrado mediano de 0.72-0.74 e bons valores medianos de AUC de 0.85-0.90. Análises mais profundas de nossos modelos sugerem que, antes e depois da adoção da IC, a intensidade das contribuições de código para uma release pode aumentar o tempo de entrega de PRs devido a uma maior carga de integração (em termos de commits integrados) da equipe de desenvolvimento. Finalmente, apresentamos heurísticas capazes de identificar com precisão os PRs que possuem um tempo de entrega prolongado. Nossos modelos de regressão obtiveram valores de AUC mediano de 0.92 a 0.97.
publishDate 2017
dc.date.accessioned.fl_str_mv 2017-11-07T22:16:31Z
dc.date.available.fl_str_mv 2017-11-07T22:16:31Z
dc.date.issued.fl_str_mv 2017-07-31
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv BERNARDO, João Helis Júnior de Azevedo. The impact of adopting continuous integration on the delivery time of merged pull requests: an empirical study. 2017. 96f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2017.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/jspui/handle/123456789/24208
identifier_str_mv BERNARDO, João Helis Júnior de Azevedo. The impact of adopting continuous integration on the delivery time of merged pull requests: an empirical study. 2017. 96f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2017.
url https://repositorio.ufrn.br/jspui/handle/123456789/24208
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.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
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/24208/1/JoaoHelisJuniorDeAzevedoBernardo_DISSERT.pdf
https://repositorio.ufrn.br/bitstream/123456789/24208/2/JoaoHelisJuniorDeAzevedoBernardo_DISSERT.pdf.txt
https://repositorio.ufrn.br/bitstream/123456789/24208/3/JoaoHelisJuniorDeAzevedoBernardo_DISSERT.pdf.jpg
bitstream.checksum.fl_str_mv c4d6a37febd3ad8ecc3a2536e6beee7e
a4d4de9f4fb936f449441c719cdfd177
a8f175828531e9527eb7e8c7e1ebb697
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
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_ 1802117808287383552