Dissertação

Analysis of the behavioral impact of code modifications EVALUATED

Uma revisão de código é o processo de rever modificações de código com o objectivo de reduzir o risco de introduzir uma regressão (também conhecido como "pull request" no GitHub). Historicamente, o processo de revisão é baseado na análise das mudanças textuais do código e do estado da execução dos testes (integração contínua). Com este projecto, explorámos uma nova forma de rever modificações de código olhando para o impacto que estas têm na execução do sistema. Para este efeito, implementámos um novo sistema - Code Review Helper que, corre um pull request do GitHub e compara-a à versão estável do projecto, analisando o seu impacto na execução do sistema, e apresentado a informação mais relevante para ajudar no processo de revisão de código. Esta informação está relacionada com a cobertura das linhas alteradas pelo pull request que está a ser analisado, as mudanças introduzidas à cobertura noutras áreas do projecto, flame graphs para visualizar traces de execução do software, e tempos de teste que permitem identificar possíveis abrandamentos de performance (ou possíveis melhorias). Para avaliar a eficácia da nossa ferramenta, pedimos a um grupo de utilizadores para a utilizarem numa revisão de código e perguntámos-lhes como é que as nossas views se comparam às que existem no GitHub, com resultados maioritariamente positivos, principalmente em relação à informação relacionada com cobertura e tempo de execução dos testes.
Pull Request, Revisão de Código, Modificação de Código, GitHub

outubro 7, 2020, 18:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Rui Filipe Lima Maranhão de Abreu

Faculdade de Engenharia da Universidade do Porto

Professor Catedratico