Investigating the relationship between continuous integration and software quality metrics: an empirical study

Detalhes bibliográficos
Autor(a) principal: Freitas, Guilherme Dutra Diniz de
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFRN
Texto Completo: https://repositorio.ufrn.br/handle/123456789/31359
Resumo: A qualidade do software é um atributo essencial para o sucesso de todo projeto de software, sendo uma das principais responsáveis pela competitividade na indústria de software. Integração contínua é uma prática de desenvolvimento de software bastante disseminada na indústria e na literatura por melhorar a qualidade do software. Nesta dissertação, realizamos uma série de estudos para investigar a relação entre integração contínua e métricas de qualidade de código que não foram exploradas por estudos já realizados. Para isso, analisamos se a adoção ou a maturidade de adoção de integração contínua estão relacionadas com melhores métricas de qualidade de código. Como resultado, encontramos que não existem evidências estatísticas que a adoção e a maturidade de integração contínua se relacione com tais métricas de qualidade de código. Por outro lado, descobrimos que a cobertura dos testes é a prática de integração contínua que mais afeta parte das métricas investigadas. A integração de builds com mais frequência não está relacionada a nenhuma das métricas estudadas. Além disso, descobrimos que projetos com builds mais rápidos tendem a ter melhor estruturação entre classes e pacotes, mas tendem a ter maior acoplamento. Também observamos que projetos com correções rápidas de builds tendem a ter menores hierarquias de herança e uma melhor estruturação das classes. Em relação à cobertura de teste, os projetos com maior cobertura de teste tendem a ter uma menor complexidade intrínseca de operações, mas uma estrutura de operação pior se comparada aos projetos com uma menor cobertura de teste.
id UFRN_91e9e0446af6ea46da4b8ba0ca21580c
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/31359
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Freitas, Guilherme Dutra Diniz dehttp://lattes.cnpq.br/3174379330826051http://lattes.cnpq.br/0189095897739979Costa, Daniel Alencar dahttp://lattes.cnpq.br/4134189443162798Aranha, Eduardo Henrique da Silvahttp://lattes.cnpq.br/9520477461031645Almeida, Rodrigo Bonifácio dehttp://lattes.cnpq.br/0368311142108150Kulesza, Uirá2021-02-02T23:24:39Z2021-02-02T23:24:39Z2020-03-26FREITAS, Guilherme Dutra Diniz de. Investigating the relationship between continuous integration and software quality metrics: an empirical study. 2020. 59f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2020.https://repositorio.ufrn.br/handle/123456789/31359A qualidade do software é um atributo essencial para o sucesso de todo projeto de software, sendo uma das principais responsáveis pela competitividade na indústria de software. Integração contínua é uma prática de desenvolvimento de software bastante disseminada na indústria e na literatura por melhorar a qualidade do software. Nesta dissertação, realizamos uma série de estudos para investigar a relação entre integração contínua e métricas de qualidade de código que não foram exploradas por estudos já realizados. Para isso, analisamos se a adoção ou a maturidade de adoção de integração contínua estão relacionadas com melhores métricas de qualidade de código. Como resultado, encontramos que não existem evidências estatísticas que a adoção e a maturidade de integração contínua se relacione com tais métricas de qualidade de código. Por outro lado, descobrimos que a cobertura dos testes é a prática de integração contínua que mais afeta parte das métricas investigadas. A integração de builds com mais frequência não está relacionada a nenhuma das métricas estudadas. Além disso, descobrimos que projetos com builds mais rápidos tendem a ter melhor estruturação entre classes e pacotes, mas tendem a ter maior acoplamento. Também observamos que projetos com correções rápidas de builds tendem a ter menores hierarquias de herança e uma melhor estruturação das classes. Em relação à cobertura de teste, os projetos com maior cobertura de teste tendem a ter uma menor complexidade intrínseca de operações, mas uma estrutura de operação pior se comparada aos projetos com uma menor cobertura de teste.Software quality is an essential attribute for the success of every software project. It is a significant element to the competitiveness of the software industry. Meanwhile, continuous integration is known as a software development practice that can contribute to improving the software quality. In this research, we conduct a series of studies that investigate the relationship between continuous integration and software quality code metrics that have not been explored before. For this purpose, we looked at whether continuous integration adoption and maturity sharing are related to better code quality metrics. As a result, we found that there is no statistical evidence that CI adoption and maturity are related to code quality metrics. We found that test coverage is the continuous integration core practice that most impacts object-oriented software metrics. On the other hand, integrating builds frequently is not related to any of the studied metrics. Additionally, we found that projects with faster builds tend to have better system structure between classes and packages but they also have higher coupling. We also observed that projects with fast build fixes tend to have a better hierarchy and class structuring. Regarding test coverage, projects with higher test coverage tend to have a lower intrinsic operation complexity but a worse operation structuring comparing with projects with lower test coverage.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESUniversidade Federal do Rio Grande do NortePROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃOUFRNBrasilContinuous integrationSoftware qualityEmpirical studyInvestigating the relationship between continuous integration and software quality metrics: an empirical studyInvestigando a relação entre integração contínua e métricas de qualidade de software: um estudo empíricoinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNORIGINALInvestigatingtherelationship_Freitas_2020.pdfapplication/pdf1963568https://repositorio.ufrn.br/bitstream/123456789/31359/1/Investigatingtherelationship_Freitas_2020.pdf3d9c4af47d52c916caf1eadf8ca071dbMD51TEXTInvestigatingtherelationship_Freitas_2020.pdf.txtInvestigatingtherelationship_Freitas_2020.pdf.txtExtracted texttext/plain109408https://repositorio.ufrn.br/bitstream/123456789/31359/2/Investigatingtherelationship_Freitas_2020.pdf.txt8134ea06fe1946bbb05bb234e171df7bMD52THUMBNAILInvestigatingtherelationship_Freitas_2020.pdf.jpgInvestigatingtherelationship_Freitas_2020.pdf.jpgGenerated Thumbnailimage/jpeg1267https://repositorio.ufrn.br/bitstream/123456789/31359/3/Investigatingtherelationship_Freitas_2020.pdf.jpga33f387816d704d99c2afcd8e476a6deMD53123456789/313592021-02-07 05:26:21.59oai:https://repositorio.ufrn.br:123456789/31359Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2021-02-07T08:26:21Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.pt_BR.fl_str_mv Investigating the relationship between continuous integration and software quality metrics: an empirical study
dc.title.alternative.pt_BR.fl_str_mv Investigando a relação entre integração contínua e métricas de qualidade de software: um estudo empírico
title Investigating the relationship between continuous integration and software quality metrics: an empirical study
spellingShingle Investigating the relationship between continuous integration and software quality metrics: an empirical study
Freitas, Guilherme Dutra Diniz de
Continuous integration
Software quality
Empirical study
title_short Investigating the relationship between continuous integration and software quality metrics: an empirical study
title_full Investigating the relationship between continuous integration and software quality metrics: an empirical study
title_fullStr Investigating the relationship between continuous integration and software quality metrics: an empirical study
title_full_unstemmed Investigating the relationship between continuous integration and software quality metrics: an empirical study
title_sort Investigating the relationship between continuous integration and software quality metrics: an empirical study
author Freitas, Guilherme Dutra Diniz de
author_facet Freitas, Guilherme Dutra Diniz de
author_role author
dc.contributor.authorID.pt_BR.fl_str_mv
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/3174379330826051
dc.contributor.advisorID.pt_BR.fl_str_mv
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/0189095897739979
dc.contributor.advisor-co1ID.pt_BR.fl_str_mv
dc.contributor.referees1.none.fl_str_mv Aranha, Eduardo Henrique da Silva
dc.contributor.referees1ID.pt_BR.fl_str_mv
dc.contributor.referees1Lattes.pt_BR.fl_str_mv http://lattes.cnpq.br/9520477461031645
dc.contributor.referees2.none.fl_str_mv Almeida, Rodrigo Bonifácio de
dc.contributor.referees2ID.pt_BR.fl_str_mv
dc.contributor.referees2Lattes.pt_BR.fl_str_mv http://lattes.cnpq.br/0368311142108150
dc.contributor.author.fl_str_mv Freitas, Guilherme Dutra Diniz de
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, Uirá
contributor_str_mv Costa, Daniel Alencar da
Kulesza, Uirá
dc.subject.por.fl_str_mv Continuous integration
Software quality
Empirical study
topic Continuous integration
Software quality
Empirical study
description A qualidade do software é um atributo essencial para o sucesso de todo projeto de software, sendo uma das principais responsáveis pela competitividade na indústria de software. Integração contínua é uma prática de desenvolvimento de software bastante disseminada na indústria e na literatura por melhorar a qualidade do software. Nesta dissertação, realizamos uma série de estudos para investigar a relação entre integração contínua e métricas de qualidade de código que não foram exploradas por estudos já realizados. Para isso, analisamos se a adoção ou a maturidade de adoção de integração contínua estão relacionadas com melhores métricas de qualidade de código. Como resultado, encontramos que não existem evidências estatísticas que a adoção e a maturidade de integração contínua se relacione com tais métricas de qualidade de código. Por outro lado, descobrimos que a cobertura dos testes é a prática de integração contínua que mais afeta parte das métricas investigadas. A integração de builds com mais frequência não está relacionada a nenhuma das métricas estudadas. Além disso, descobrimos que projetos com builds mais rápidos tendem a ter melhor estruturação entre classes e pacotes, mas tendem a ter maior acoplamento. Também observamos que projetos com correções rápidas de builds tendem a ter menores hierarquias de herança e uma melhor estruturação das classes. Em relação à cobertura de teste, os projetos com maior cobertura de teste tendem a ter uma menor complexidade intrínseca de operações, mas uma estrutura de operação pior se comparada aos projetos com uma menor cobertura de teste.
publishDate 2020
dc.date.issued.fl_str_mv 2020-03-26
dc.date.accessioned.fl_str_mv 2021-02-02T23:24:39Z
dc.date.available.fl_str_mv 2021-02-02T23:24:39Z
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 FREITAS, Guilherme Dutra Diniz de. Investigating the relationship between continuous integration and software quality metrics: an empirical study. 2020. 59f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2020.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/handle/123456789/31359
identifier_str_mv FREITAS, Guilherme Dutra Diniz de. Investigating the relationship between continuous integration and software quality metrics: an empirical study. 2020. 59f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2020.
url https://repositorio.ufrn.br/handle/123456789/31359
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/31359/1/Investigatingtherelationship_Freitas_2020.pdf
https://repositorio.ufrn.br/bitstream/123456789/31359/2/Investigatingtherelationship_Freitas_2020.pdf.txt
https://repositorio.ufrn.br/bitstream/123456789/31359/3/Investigatingtherelationship_Freitas_2020.pdf.jpg
bitstream.checksum.fl_str_mv 3d9c4af47d52c916caf1eadf8ca071db
8134ea06fe1946bbb05bb234e171df7b
a33f387816d704d99c2afcd8e476a6de
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_ 1814832657754750976