Mostrar el registro sencillo del ítem

dc.contributor.advisorNunes, Ingrid Oliveira dept_BR
dc.contributor.authorSantos, Eduardo Witter dospt_BR
dc.date.accessioned2021-08-17T01:00:46Zpt_BR
dc.date.issued2021pt_BR
dc.identifier.urihttp://hdl.handle.net/10183/225702pt_BR
dc.description.abstractModern 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.en
dc.description.abstractNa 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.pt_BR
dc.format.mimetypeapplication/pdfpt_BR
dc.language.isoengpt_BR
dc.rightsOpen Accessen
dc.subjectSistemas de recomendaçãopt_BR
dc.subjectRevisão de código modernapt_BR
dc.titleUnderstanding the impact of teams in modern code reviewpt_BR
dc.title.alternativeEntendento o impacto de times na revisão de código moderna pt
dc.typeDissertaçãopt_BR
dc.identifier.nrb001129925pt_BR
dc.degree.grantorUniversidade Federal do Rio Grande do Sulpt_BR
dc.degree.departmentInstituto de Informáticapt_BR
dc.degree.programPrograma de Pós-Graduação em Computaçãopt_BR
dc.degree.localPorto Alegre, BR-RSpt_BR
dc.degree.date2021pt_BR
dc.degree.levelmestradopt_BR


Ficheros en el ítem

Thumbnail
   

Este ítem está licenciado en la Creative Commons License

Mostrar el registro sencillo del ítem