Dissertação

{en_GB=An Approach to Aid Developers Understand Code Change} {} EVALUATED

{pt=Revisão de código é uma prática comum em engenharia de \textit{software} de importância prática para a redução de defeitos no \textit{software}. Hoje em dia as revisões são feitas com a ajuda de ferramentas especializadas como o Gerrit. No entanto, mesmo numa revisão de código auxiliada por este tipo de ferramentas, ainda é necessário uma quantidade significativa de esforço humano para perceber as alterações efectuadas no código, uma vez que as informações necessárias para analisar as alterações efetuadas podem estar distribuidas por vários ficheiros com os quais o revisor não é familiar. Alterações de código são geralmente organizadas em \textit{commits} para serem revistas. No entanto, em \textit{commits}, os ficheiros são ordenados alfabéticamente, criando situações em que ficheiros muito grandes ou com alterações complexas possam ser mostrados apenas no fundo do \textit{commit}, fazendo com que a sua revisão e compreensão sejam mais dificeis uma vez que o revisor pode já ter dispendido muito tempo e concentração em ficheiros com menos impacto ou relevância. Nesta tese apresentamos uma solução de ordenação baseada no tipo de alterações realizadas em cada ficheiro. Juntamente com a nova ordenação fornecemos uma vista simples em HTML baseada no GitHub com o objetivo de tornar a revisão de código e sua compreensão mais fácil para os revisores e menos dispendiosa em termos de tempo., en=Code review is a common software engineering practice of practical importance to reduce software defects. Review today is often done with the help of specialized tools, such as Gerrit. However, even using a tool-supported code review, it still involves a significant amount of human effort to understand the code change, because the information required to inspect code changes may distribute across multiple files that reviewers are not familiar with. Code changes are often organized as commits for review. However, in commits, files are sorted alphabetically creating situations where larger files or files with more complex changes may be displayed at the bottom of the commit, making their review or understanding harder, as the reviewer may have already spent a lot of time and concentration reviewing less impacting or relevant files. In this thesis we present a new sorting solution based on the type of changes performed in each file. Along the new sorting we provide a simple HTML view based on GitHub with the goal of making code review and understanding easier for reviewers and less time consuming.}
{pt=code change, code review, pull request, commit, github, en=code change, code review, pull request, commit, github}

Outubro 7, 2020, 16:30

Orientação

ORIENTADOR

Rui Filipe Lima Maranhão de Abreu

Faculdade de Engenharia da Universidade do Porto

Professor Catedratico