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

dc.contributor.advisorKulesza, Uirá
dc.contributor.advisor-co1Costa, Daniel Alencar da
dc.contributor.advisor-co1IDpt_BR
dc.contributor.advisor-co1Latteshttp://lattes.cnpq.br/4134189443162798pt_BR
dc.contributor.advisorIDpt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/0189095897739979pt_BR
dc.contributor.authorFreitas, Guilherme Dutra Diniz de
dc.contributor.authorIDpt_BR
dc.contributor.authorLatteshttp://lattes.cnpq.br/3174379330826051pt_BR
dc.contributor.referees1Aranha, Eduardo Henrique da Silva
dc.contributor.referees1IDpt_BR
dc.contributor.referees1Latteshttp://lattes.cnpq.br/9520477461031645pt_BR
dc.contributor.referees2Almeida, Rodrigo Bonifácio de
dc.contributor.referees2IDpt_BR
dc.contributor.referees2Latteshttp://lattes.cnpq.br/0368311142108150pt_BR
dc.date.accessioned2021-02-02T23:24:39Z
dc.date.available2021-02-02T23:24:39Z
dc.date.issued2020-03-26
dc.description.abstractSoftware 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.pt_BR
dc.description.resumoA 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.pt_BR
dc.description.sponsorshipCoordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESpt_BR
dc.identifier.citationFREITAS, 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.pt_BR
dc.identifier.urihttps://repositorio.ufrn.br/handle/123456789/31359
dc.languagept_BRpt_BR
dc.publisherUniversidade Federal do Rio Grande do Nortept_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.initialsUFRNpt_BR
dc.publisher.programPROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃOpt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectContinuous integrationpt_BR
dc.subjectSoftware qualitypt_BR
dc.subjectEmpirical studypt_BR
dc.titleInvestigating the relationship between continuous integration and software quality metrics: an empirical studypt_BR
dc.title.alternativeInvestigando a relação entre integração contínua e métricas de qualidade de software: um estudo empíricopt_BR
dc.typemasterThesispt_BR

Arquivos

Pacote Original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
Investigatingtherelationship_Freitas_2020.pdf
Tamanho:
1.87 MB
Formato:
Adobe Portable Document Format
Carregando...
Imagem de Miniatura
Baixar