Understanding the relationship between continuous integration and its effects on software quality outcomes
dc.contributor.advisor | Kulesza, Uirá | |
dc.contributor.advisorID | pt_BR | |
dc.contributor.author | Nery, Gustavo Sizílio | |
dc.contributor.authorID | pt_BR | |
dc.contributor.referees1 | Costa, Daniel Alencar da | |
dc.contributor.referees1ID | pt_BR | |
dc.contributor.referees2 | Aranha, Eduardo Henrique da Silva | |
dc.contributor.referees2ID | pt_BR | |
dc.contributor.referees3 | Pinto, Gustavo Henrique Lima | |
dc.contributor.referees3ID | pt_BR | |
dc.contributor.referees4 | Almeida, Rodrigo Bonifácio de | |
dc.contributor.referees4ID | pt_BR | |
dc.date.accessioned | 2020-07-16T18:16:38Z | |
dc.date.available | 2020-07-16T18:16:38Z | |
dc.date.issued | 2020-02-27 | |
dc.description.abstract | Integração Contínua, em inglês Continuous Integration (CI), consiste na prática de automatizar e melhorar a frequência das integrações de código (por exemplo, através de builds diários). CI é frequentemente considerado um dos principais elementos que dão suporte às metodologias ágeis. CI ajuda a reduzir os riscos de integração no desenvolvimento de software, através de builds e testes automatizados, permitindo que equipes corrijam problemas de integração imediatamente. A adoção de CI pode ajudar as equipes a avaliar e melhorar a qualidade dos sistemas de software. Os potenciais benefícios de CI chamaram a atenção de pesquisadores da engenharia de software que buscam entender, de forma empírica, as possíveis vantagens de adoção da prática. Estudos anteriores evidenciam o impacto da adoção de CI em diversos aspectos do desenvolvimento de software. Apesar dos valiosos avanços, muitas suposições permanecem empiricamente inexploradas na comunidade. Nosso trabalho investiga, de forma empírica, os fatores da qualidade do software e suas relações com a adoção de CI. Como contribuição, esta tese fornece um mapeamento sistemático da literatura, que apresenta um amplo cenário de como profissionais e pesquisadores observam o efeito de CI nos aspectos relacionados ao produto de software. Além disso, melhoramos algumas premissas, realizando dois estudos empíricos, visando responder às seguintes questões ainda em aberto: (i) A adoção de CI está associada à evolução do código de teste dos projetos? (ii) O nível de aderência às práticas de CI está relacionada a uma melhoria da qualidade do código fonte dos projetos? Por fim, nós apresentamos um estudo pioneiro, considerando o nosso contexto de pesquisa, que vai além dos testes de correlação e investiga o efeito causal entre a adoção de CI e testes automatizados. Para isto, aplicamos uma inferência causal, através da utilização de diagramas causais e métodos probabilísticos, para determinar a efeito de CI nos testes automatizados. Nossos resultados sugerem que, apesar dos trade-offs relacionados à adoção de CI, é provável que a prática esteja associada à melhorias na qualidade do software. Além disso, CI emprega um efeito causal positivo e considerável no volume de testes dos projetos. | pt_BR |
dc.description.resumo | Continuous Integration (CI) is the practice of automating and improving the frequency of code integration (e.g., daily builds). CI is often considered one of the key elements involved to support agile software teams. It helps to reduce the risks in software development by automatically building and testing a project codebase, which allows the team to fix broken builds immediately. The adoption of CI can help development teams to assess the quality of software systems. The potential benefits of adopting CI have brought the attention of researchers to study its advantages empirically. Previous research has studied the impact of adopting CI on diverse aspects of software development. Despite the valuable advancements, there are still many assumptions in the community that remains empirically unexplored. Our work empirically investigates the software quality outcomes and their relationship with the adoption of CI. This thesis provides a systematic literature mapping that presents a broad knowledge of how practitioners and researchers recognize the CI practice to affect software product-related aspects. Additionally, we improve some assumptions by performing two empirical studies that aim to answer the following open questions: (i) Does the adoption of CI share a relationship with the evolution of test code? (ii) The adherence to CI best practices is related to the degree of code quality? Finally, we present a pioneering study that goes beyond the correlation tests to investigate the estimated causal effect of CI adoption and its impact on automated tests. Thereby, we apply a causal inference using directed acyclic graphs and probabilistic methods to determine the causal effect of CI in automated tests. Our results suggest that, despite the CI adoption trade-offs, it is likely to be associated with improvements in software quality. Additionally, it employs a considerable positive causal effect on the volume of automated tests. | pt_BR |
dc.identifier.citation | NERY, Gustavo Sizílio. Understanding the relationship between continuous integration and its effects on software quality outcomes. 2020. 147f. Tese (Doutorado em Ciência da Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2020. | pt_BR |
dc.identifier.uri | https://repositorio.ufrn.br/jspui/handle/123456789/29655 | |
dc.language | pt_BR | pt_BR |
dc.publisher | Universidade Federal do Rio Grande do Norte | pt_BR |
dc.publisher.country | Brasil | pt_BR |
dc.publisher.initials | UFRN | pt_BR |
dc.publisher.program | PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO | pt_BR |
dc.rights | Acesso Aberto | pt_BR |
dc.subject | Continuous integration | pt_BR |
dc.subject | Software quality | pt_BR |
dc.subject | Empirical study | pt_BR |
dc.subject | Causal inference | pt_BR |
dc.subject.cnpq | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO | pt_BR |
dc.title | Understanding the relationship between continuous integration and its effects on software quality outcomes | pt_BR |
dc.title.alternative | Compreendendo o relacionamento entre a integração contínua e seus efeitos nos resultados da qualidade do software | pt_BR |
dc.type | doctoralThesis | pt_BR |
Arquivos
Pacote Original
1 - 1 de 1
Carregando...
- Nome:
- Understandingrelationshipbetween_Nery_2020.pdf
- Tamanho:
- 5.12 MB
- Formato:
- Adobe Portable Document Format
Carregando...