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

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. I...

ver descrição completa

Na minha lista:
Detalhes bibliográficos
Autor principal: Freitas, Guilherme Dutra Diniz de
Outros Autores: Kulesza, Uirá
Formato: Dissertação
Idioma:pt_BR
Publicado em: Universidade Federal do Rio Grande do Norte
Assuntos:
Endereço do item:https://repositorio.ufrn.br/handle/123456789/31359
Tags: Adicionar Tag
Sem tags, seja o primeiro a adicionar uma tag!
Descrição
Resumo: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.