Understanding the impact of teams in modern code review

Detalhes bibliográficos
Autor(a) principal: Santos, Eduardo Witter dos
Data de Publicação: 2021
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFRGS
Texto Completo: http://hdl.handle.net/10183/225702
Resumo: Na revisão de código moderna (MCR), o código produzido é revisado de forma assíncrona por outros desenvolvedores, com a ajuda de ferramentas, com baixa rigidez na sua execu ção. Amplamente adotada na indústria, traz benefícios para a qualidade do código, dentre outros diversos benefícios. Para ser efetiva, depende de fatores técnicos e não-técnicos, como a experiência dos revisores e a quantidade de linhas de código alteradas. Além disso, a revisão de código dependente fortemente dos revisores, e portanto um revisor adequado é crucial. Diversos estudos já foram realizados para entender como diferentes fatores afetam a revisão de código. Entretanto, poucos trabalhos consideram a influên cia da organização dos times e sua distribuição geográfica. Além destas limitações, as técnicas existentes para recomendar revisores não são focadas em cenários com times geograficamente distribuídos. Em vez disso, a maioria destas técnicas é inteiramente ba seada em dados obtidos de sistema de controle de versão, que usualmente não fornecem informação sobre times, cidades e fusos horários. Nesta dissertação, nosso objetivo é en tender como melhorar a revisão de código moderna considerando a informação sobre a estrutura dos times e sua distribuição. Para isto, nós analisamos atividade de revisão de código de diferentes pontos de vista em três estudos separados. No primeiro estudo, nós mineramos dados de repositórios de código-fonte, bases de dado de revisão de código e estrutura de times para investigar como a efetividade da revisão de código é influenci ada por fatores relacionados a times, tais como sua organização e distribuição geográfica. Para complementar este primeiro estudo, entrevistamos desenvolvedores para investigar como a revisão de código deveria acontecer idealmente, o que motiva os desenvolvedores a participar de revisões de código, e como ocorre a interação entre as pessoas neste pro cesso. Por fim, baseado nos resultados destes dois primeiros estudos, nós implementamos e avaliamos dois preditores aplicados a revisão de código, levando em consideração os dados relacionados a times. Nossos estudos mostram que aspectos relacionados a times tem impacto significativo nas revisões de código. Por exemplo, revisões de código com mais times e cidades envolvidos tem em geral mais contribuições por parte dos revisores, porém levam mais tempo para serem concluídas. Além disso, os preditores propostos tem melhoria significativa de performance quando usam informação relacionada a times.
id URGS_f638791a2ff6d36d526590bf0bd650a0
oai_identifier_str oai:www.lume.ufrgs.br:10183/225702
network_acronym_str URGS
network_name_str Biblioteca Digital de Teses e Dissertações da UFRGS
repository_id_str 1853
spelling Santos, Eduardo Witter dosNunes, Ingrid Oliveira de2021-08-17T01:00:46Z2021http://hdl.handle.net/10183/225702001129925Na revisão de código moderna (MCR), o código produzido é revisado de forma assíncrona por outros desenvolvedores, com a ajuda de ferramentas, com baixa rigidez na sua execu ção. Amplamente adotada na indústria, traz benefícios para a qualidade do código, dentre outros diversos benefícios. Para ser efetiva, depende de fatores técnicos e não-técnicos, como a experiência dos revisores e a quantidade de linhas de código alteradas. Além disso, a revisão de código dependente fortemente dos revisores, e portanto um revisor adequado é crucial. Diversos estudos já foram realizados para entender como diferentes fatores afetam a revisão de código. Entretanto, poucos trabalhos consideram a influên cia da organização dos times e sua distribuição geográfica. Além destas limitações, as técnicas existentes para recomendar revisores não são focadas em cenários com times geograficamente distribuídos. Em vez disso, a maioria destas técnicas é inteiramente ba seada em dados obtidos de sistema de controle de versão, que usualmente não fornecem informação sobre times, cidades e fusos horários. Nesta dissertação, nosso objetivo é en tender como melhorar a revisão de código moderna considerando a informação sobre a estrutura dos times e sua distribuição. Para isto, nós analisamos atividade de revisão de código de diferentes pontos de vista em três estudos separados. No primeiro estudo, nós mineramos dados de repositórios de código-fonte, bases de dado de revisão de código e estrutura de times para investigar como a efetividade da revisão de código é influenci ada por fatores relacionados a times, tais como sua organização e distribuição geográfica. Para complementar este primeiro estudo, entrevistamos desenvolvedores para investigar como a revisão de código deveria acontecer idealmente, o que motiva os desenvolvedores a participar de revisões de código, e como ocorre a interação entre as pessoas neste pro cesso. Por fim, baseado nos resultados destes dois primeiros estudos, nós implementamos e avaliamos dois preditores aplicados a revisão de código, levando em consideração os dados relacionados a times. Nossos estudos mostram que aspectos relacionados a times tem impacto significativo nas revisões de código. Por exemplo, revisões de código com mais times e cidades envolvidos tem em geral mais contribuições por parte dos revisores, porém levam mais tempo para serem concluídas. Além disso, os preditores propostos tem melhoria significativa de performance quando usam informação relacionada a times.Modern code review (MCR) is a practice in which code reviews are performed in a tool supported, asynchronous, and lightweight way and is widely adopted in the software in dustry. MCR provides improved code quality and fewer bugs, and it can also positively influence the attitude of developers by creating a sense of collective code ownership. To be effective, it depends on many technical and non-technical factors, such as the size of the code change being reviewed and the reviewer’s experience. Moreover, finding good reviewers is critical for the process because code reviews are essentially a collaborative task, which relies mainly on reviewers’ contributions. Several studies were already per formed in order to understand how code review is affected by different factors, such as the reviewer’s experience and properties of the code being reviewed. However, there is limited work considering aspects related to how teams are organized and geographi cally distributed. Not only there is a lack of studies in this direction, but also this kind of information has not been explored in reviewer recommenders. Instead, existing rec ommenders are typically based on data obtained from version control systems, which usually do not provide information about team organization, locations, and time zones. In this dissertation, we aim to understand how to improve modern code review by exploiting the team structure within an organization developing software with geographically dis tributed teams. To achieve this, we investigate code review from different perspectives in three separate studies. In the first study, we mined data from repositories, code re view databases, and team structure to investigate how the effectiveness of code review is influenced by team-related factors, such as how teams are organized and geographically distributed. To complement this study, we surveyed developers to investigate how code reviews should ideally happen, what motivates developers to engage in code reviews, and how they interact. Finally, based on the outcomes and findings from these first two stud ies, we propose, implement and evaluate two code review prediction models that consider team-related information. Our studies show that team-related aspects have a significant impact on code reviews. For instance, code reviews with more teams and locations gener ally have more contributions from reviewers, but usually take more time to be completed. Moreover, the two proposed code review prediction models are able to largely improve baselines when predicting reviewer participation and amount of provided feedback.application/pdfengSistemas de recomendaçãoRevisão de código modernaUnderstanding the impact of teams in modern code reviewEntendento o impacto de times na revisão de código moderna info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2021mestradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001129925.pdf.txt001129925.pdf.txtExtracted Texttext/plain234355http://www.lume.ufrgs.br/bitstream/10183/225702/2/001129925.pdf.txt46fd41536fe58a3c055eed51bbe99620MD52ORIGINAL001129925.pdfTexto completo (inglês)application/pdf1647900http://www.lume.ufrgs.br/bitstream/10183/225702/1/001129925.pdfad568c15fb28f497aab8ad96d8304292MD5110183/2257022021-08-18 05:23:28.54oai:www.lume.ufrgs.br:10183/225702Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532021-08-18T08:23:28Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Understanding the impact of teams in modern code review
dc.title.alternative.pt.fl_str_mv Entendento o impacto de times na revisão de código moderna
title Understanding the impact of teams in modern code review
spellingShingle Understanding the impact of teams in modern code review
Santos, Eduardo Witter dos
Sistemas de recomendação
Revisão de código moderna
title_short Understanding the impact of teams in modern code review
title_full Understanding the impact of teams in modern code review
title_fullStr Understanding the impact of teams in modern code review
title_full_unstemmed Understanding the impact of teams in modern code review
title_sort Understanding the impact of teams in modern code review
author Santos, Eduardo Witter dos
author_facet Santos, Eduardo Witter dos
author_role author
dc.contributor.author.fl_str_mv Santos, Eduardo Witter dos
dc.contributor.advisor1.fl_str_mv Nunes, Ingrid Oliveira de
contributor_str_mv Nunes, Ingrid Oliveira de
dc.subject.por.fl_str_mv Sistemas de recomendação
Revisão de código moderna
topic Sistemas de recomendação
Revisão de código moderna
description Na revisão de código moderna (MCR), o código produzido é revisado de forma assíncrona por outros desenvolvedores, com a ajuda de ferramentas, com baixa rigidez na sua execu ção. Amplamente adotada na indústria, traz benefícios para a qualidade do código, dentre outros diversos benefícios. Para ser efetiva, depende de fatores técnicos e não-técnicos, como a experiência dos revisores e a quantidade de linhas de código alteradas. Além disso, a revisão de código dependente fortemente dos revisores, e portanto um revisor adequado é crucial. Diversos estudos já foram realizados para entender como diferentes fatores afetam a revisão de código. Entretanto, poucos trabalhos consideram a influên cia da organização dos times e sua distribuição geográfica. Além destas limitações, as técnicas existentes para recomendar revisores não são focadas em cenários com times geograficamente distribuídos. Em vez disso, a maioria destas técnicas é inteiramente ba seada em dados obtidos de sistema de controle de versão, que usualmente não fornecem informação sobre times, cidades e fusos horários. Nesta dissertação, nosso objetivo é en tender como melhorar a revisão de código moderna considerando a informação sobre a estrutura dos times e sua distribuição. Para isto, nós analisamos atividade de revisão de código de diferentes pontos de vista em três estudos separados. No primeiro estudo, nós mineramos dados de repositórios de código-fonte, bases de dado de revisão de código e estrutura de times para investigar como a efetividade da revisão de código é influenci ada por fatores relacionados a times, tais como sua organização e distribuição geográfica. Para complementar este primeiro estudo, entrevistamos desenvolvedores para investigar como a revisão de código deveria acontecer idealmente, o que motiva os desenvolvedores a participar de revisões de código, e como ocorre a interação entre as pessoas neste pro cesso. Por fim, baseado nos resultados destes dois primeiros estudos, nós implementamos e avaliamos dois preditores aplicados a revisão de código, levando em consideração os dados relacionados a times. Nossos estudos mostram que aspectos relacionados a times tem impacto significativo nas revisões de código. Por exemplo, revisões de código com mais times e cidades envolvidos tem em geral mais contribuições por parte dos revisores, porém levam mais tempo para serem concluídas. Além disso, os preditores propostos tem melhoria significativa de performance quando usam informação relacionada a times.
publishDate 2021
dc.date.accessioned.fl_str_mv 2021-08-17T01:00:46Z
dc.date.issued.fl_str_mv 2021
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/225702
dc.identifier.nrb.pt_BR.fl_str_mv 001129925
url http://hdl.handle.net/10183/225702
identifier_str_mv 001129925
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Biblioteca Digital de Teses e Dissertações da UFRGS
collection Biblioteca Digital de Teses e Dissertações da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/225702/2/001129925.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/225702/1/001129925.pdf
bitstream.checksum.fl_str_mv 46fd41536fe58a3c055eed51bbe99620
ad568c15fb28f497aab8ad96d8304292
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv lume@ufrgs.br||lume@ufrgs.br
_version_ 1810085560907202560