Understanding the impact of teams in modern code review
Autor(a) principal: | |
---|---|
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 |