Investigating the relationship between continuous integration and software quality metrics: an empirical study
Autor(a) principal: | |
---|---|
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 |