Recomendação de revisores de código no desenvolvimento distribuído de software

Detalhes bibliográficos
Autor(a) principal: Schettino, Vinicius Junqueira
Data de Publicação: 2019
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFJF
Texto Completo: https://repositorio.ufjf.br/jspui/handle/ufjf/12138
Resumo: A revisão de código é uma das principais técnicas de diminuição de defeitos de software. Intrinsecamente colaborativo, o processo envolve a análise das modificações no código fonte por um revisor, de acordo com as diretrizes de cada repositório. Contudo, a eficiência da técnica está diretamente associada à escolha dos pares técnicos adequados para realizar o escrutínio. Especialmente no Desenvolvimento Distribuído de Software (DDS), onde os membros da equipe de desenvolvimento estão espalhados geograficamente com restrições de horário e disponibilidade, além de diferenças culturais e técnicas, a escolha do revisor vira tarefa complexa sem auxílio de ferramentas computacionais. O objetivo do presente trabalho é apresentar o GitRev, uma plataforma que reúne diferentes métodos de recomendação de revisores para o desenvolvimento distribuído de software, potencializando a colaboração no processo de revisão. Levando em consideração as particularidades dos processos descentralizados de produção, são propostos métodos baseados nas interações históricas entre os desenvolvedores. Esta análise é realizada através da modelagem de uma rede social colaborativa tendo como base os dados oriundos dos repositórios open source hospedados no GitHub. Uma pesquisa histórica é conduzida para avaliar a solução apresentada, calcada na literatura relacionada e em métricas objetivas de eficiência da participação dos revisores e instanciado em quatro grandes projetos disponíveis na plataforma. Com os resultados obtidos, é possível observar que os revisores recomendados aumentam a interação e colaboração entre os envolvidos e aderem significativamente aos objetivos do processo de revisão.
id UFJF_37458adeb2726b2f84cc60c347f3fe98
oai_identifier_str oai:hermes.cpd.ufjf.br:ufjf/12138
network_acronym_str UFJF
network_name_str Repositório Institucional da UFJF
repository_id_str
spelling Menezes, Victor Ströele de Andradehttp://lattes.cnpq.br/7561791813071961Araújo, Marco Antônio Pereirahttp://lattes.cnpq.br/8908009613435024Santos, Rodrigo Pereira doshttp://lattes.cnpq.br/David, José Maria Nazarhttp://lattes.cnpq.br/3640497501056163http://lattes.cnpq.br/Schettino, Vinicius Junqueira2021-01-06T19:28:43Z2020-12-032021-01-06T19:28:43Z2019-11-25https://repositorio.ufjf.br/jspui/handle/ufjf/12138A revisão de código é uma das principais técnicas de diminuição de defeitos de software. Intrinsecamente colaborativo, o processo envolve a análise das modificações no código fonte por um revisor, de acordo com as diretrizes de cada repositório. Contudo, a eficiência da técnica está diretamente associada à escolha dos pares técnicos adequados para realizar o escrutínio. Especialmente no Desenvolvimento Distribuído de Software (DDS), onde os membros da equipe de desenvolvimento estão espalhados geograficamente com restrições de horário e disponibilidade, além de diferenças culturais e técnicas, a escolha do revisor vira tarefa complexa sem auxílio de ferramentas computacionais. O objetivo do presente trabalho é apresentar o GitRev, uma plataforma que reúne diferentes métodos de recomendação de revisores para o desenvolvimento distribuído de software, potencializando a colaboração no processo de revisão. Levando em consideração as particularidades dos processos descentralizados de produção, são propostos métodos baseados nas interações históricas entre os desenvolvedores. Esta análise é realizada através da modelagem de uma rede social colaborativa tendo como base os dados oriundos dos repositórios open source hospedados no GitHub. Uma pesquisa histórica é conduzida para avaliar a solução apresentada, calcada na literatura relacionada e em métricas objetivas de eficiência da participação dos revisores e instanciado em quatro grandes projetos disponíveis na plataforma. Com os resultados obtidos, é possível observar que os revisores recomendados aumentam a interação e colaboração entre os envolvidos e aderem significativamente aos objetivos do processo de revisão.Code review is one of the main software defect mitigation techniques. Intrinsically collaborative, the process involves the analysis of source code modifications by technical peer in adherence to the guidelines of each repository. However, the efficiency of this approach is directly associated with choosing the appropriate technical peers to conduct the scrutiny. Especially in global software development, where members of the development team are geographically scattered with time and availability constraints and there are cultural and technical differences, choosing the reviewer becomes a complex task without the aid of computational tools. The aim of this paper is to present Gitrev, a tool that gathers reviewer recommendation methods for distributed software development that enhance collaboration in the review process. Taking into account the particularities of decentralised production processes, the proposed methods are based on historical interactions between developers, through the design of a collaborative network based on data from GitHub hosted open source repositories. The evaluation of the presented solution is a historic research based on the related literature and objective metrics of efficiency of the reviewers’ participation and instantiated on four major projects available on the platform. The results shows the recommended reviewers enhance interaction and collaboration among team members and adhere significantly to the objectives of the review process.porUniversidade Federal de Juiz de Fora (UFJF)Programa de Pós-graduação em Ciência da ComputaçãoUFJFBrasilICE – Instituto de Ciências ExatasAttribution-ShareAlike 3.0 Brazilhttp://creativecommons.org/licenses/by-sa/3.0/br/info:eu-repo/semantics/openAccessCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAORevisão de códigoDesenvolvimento distribuído de softwareSistemas de recomendação.Code reviewDistributed software developmentRecommendation systemsRecomendação de revisores de código no desenvolvimento distribuído de softwareinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFJFinstname:Universidade Federal de Juiz de Fora (UFJF)instacron:UFJFORIGINALviniciusjunqueiraschettino.pdfviniciusjunqueiraschettino.pdfPDF/Aapplication/pdf2093849https://repositorio.ufjf.br/jspui/bitstream/ufjf/12138/2/viniciusjunqueiraschettino.pdfc050b6c3b265cf73f23ed6484ef07681MD52CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-81031https://repositorio.ufjf.br/jspui/bitstream/ufjf/12138/3/license_rdf9b85e4235558a2887c2be3998124b615MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://repositorio.ufjf.br/jspui/bitstream/ufjf/12138/4/license.txt8a4605be74aa9ea9d79846c1fba20a33MD54TEXTviniciusjunqueiraschettino.pdf.txtviniciusjunqueiraschettino.pdf.txtExtracted texttext/plain185666https://repositorio.ufjf.br/jspui/bitstream/ufjf/12138/5/viniciusjunqueiraschettino.pdf.txt6d9c281956f02af1c16d084e2bc373f7MD55THUMBNAILviniciusjunqueiraschettino.pdf.jpgviniciusjunqueiraschettino.pdf.jpgGenerated Thumbnailimage/jpeg1173https://repositorio.ufjf.br/jspui/bitstream/ufjf/12138/6/viniciusjunqueiraschettino.pdf.jpg6c7ecf7ae7d81458bd1b48bd7b6613a6MD56ufjf/121382021-01-07 04:07:49.43oai:hermes.cpd.ufjf.br:ufjf/12138Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ufjf.br/oai/requestopendoar:2021-01-07T06:07:49Repositório Institucional da UFJF - Universidade Federal de Juiz de Fora (UFJF)false
dc.title.pt_BR.fl_str_mv Recomendação de revisores de código no desenvolvimento distribuído de software
title Recomendação de revisores de código no desenvolvimento distribuído de software
spellingShingle Recomendação de revisores de código no desenvolvimento distribuído de software
Schettino, Vinicius Junqueira
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Revisão de código
Desenvolvimento distribuído de software
Sistemas de recomendação.
Code review
Distributed software development
Recommendation systems
title_short Recomendação de revisores de código no desenvolvimento distribuído de software
title_full Recomendação de revisores de código no desenvolvimento distribuído de software
title_fullStr Recomendação de revisores de código no desenvolvimento distribuído de software
title_full_unstemmed Recomendação de revisores de código no desenvolvimento distribuído de software
title_sort Recomendação de revisores de código no desenvolvimento distribuído de software
author Schettino, Vinicius Junqueira
author_facet Schettino, Vinicius Junqueira
author_role author
dc.contributor.advisor1.fl_str_mv Menezes, Victor Ströele de Andrade
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/7561791813071961
dc.contributor.advisor-co1.fl_str_mv Araújo, Marco Antônio Pereira
dc.contributor.advisor-co1Lattes.fl_str_mv http://lattes.cnpq.br/8908009613435024
dc.contributor.referee1.fl_str_mv Santos, Rodrigo Pereira dos
dc.contributor.referee1Lattes.fl_str_mv http://lattes.cnpq.br/
dc.contributor.referee2.fl_str_mv David, José Maria Nazar
dc.contributor.referee2Lattes.fl_str_mv http://lattes.cnpq.br/3640497501056163
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/
dc.contributor.author.fl_str_mv Schettino, Vinicius Junqueira
contributor_str_mv Menezes, Victor Ströele de Andrade
Araújo, Marco Antônio Pereira
Santos, Rodrigo Pereira dos
David, José Maria Nazar
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Revisão de código
Desenvolvimento distribuído de software
Sistemas de recomendação.
Code review
Distributed software development
Recommendation systems
dc.subject.por.fl_str_mv Revisão de código
Desenvolvimento distribuído de software
Sistemas de recomendação.
Code review
Distributed software development
Recommendation systems
description A revisão de código é uma das principais técnicas de diminuição de defeitos de software. Intrinsecamente colaborativo, o processo envolve a análise das modificações no código fonte por um revisor, de acordo com as diretrizes de cada repositório. Contudo, a eficiência da técnica está diretamente associada à escolha dos pares técnicos adequados para realizar o escrutínio. Especialmente no Desenvolvimento Distribuído de Software (DDS), onde os membros da equipe de desenvolvimento estão espalhados geograficamente com restrições de horário e disponibilidade, além de diferenças culturais e técnicas, a escolha do revisor vira tarefa complexa sem auxílio de ferramentas computacionais. O objetivo do presente trabalho é apresentar o GitRev, uma plataforma que reúne diferentes métodos de recomendação de revisores para o desenvolvimento distribuído de software, potencializando a colaboração no processo de revisão. Levando em consideração as particularidades dos processos descentralizados de produção, são propostos métodos baseados nas interações históricas entre os desenvolvedores. Esta análise é realizada através da modelagem de uma rede social colaborativa tendo como base os dados oriundos dos repositórios open source hospedados no GitHub. Uma pesquisa histórica é conduzida para avaliar a solução apresentada, calcada na literatura relacionada e em métricas objetivas de eficiência da participação dos revisores e instanciado em quatro grandes projetos disponíveis na plataforma. Com os resultados obtidos, é possível observar que os revisores recomendados aumentam a interação e colaboração entre os envolvidos e aderem significativamente aos objetivos do processo de revisão.
publishDate 2019
dc.date.issued.fl_str_mv 2019-11-25
dc.date.available.fl_str_mv 2020-12-03
2021-01-06T19:28:43Z
dc.date.accessioned.fl_str_mv 2021-01-06T19:28:43Z
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 https://repositorio.ufjf.br/jspui/handle/ufjf/12138
url https://repositorio.ufjf.br/jspui/handle/ufjf/12138
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-ShareAlike 3.0 Brazil
http://creativecommons.org/licenses/by-sa/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-ShareAlike 3.0 Brazil
http://creativecommons.org/licenses/by-sa/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Juiz de Fora (UFJF)
dc.publisher.program.fl_str_mv Programa de Pós-graduação em Ciência da Computação
dc.publisher.initials.fl_str_mv UFJF
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv ICE – Instituto de Ciências Exatas
publisher.none.fl_str_mv Universidade Federal de Juiz de Fora (UFJF)
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFJF
instname:Universidade Federal de Juiz de Fora (UFJF)
instacron:UFJF
instname_str Universidade Federal de Juiz de Fora (UFJF)
instacron_str UFJF
institution UFJF
reponame_str Repositório Institucional da UFJF
collection Repositório Institucional da UFJF
bitstream.url.fl_str_mv https://repositorio.ufjf.br/jspui/bitstream/ufjf/12138/2/viniciusjunqueiraschettino.pdf
https://repositorio.ufjf.br/jspui/bitstream/ufjf/12138/3/license_rdf
https://repositorio.ufjf.br/jspui/bitstream/ufjf/12138/4/license.txt
https://repositorio.ufjf.br/jspui/bitstream/ufjf/12138/5/viniciusjunqueiraschettino.pdf.txt
https://repositorio.ufjf.br/jspui/bitstream/ufjf/12138/6/viniciusjunqueiraschettino.pdf.jpg
bitstream.checksum.fl_str_mv c050b6c3b265cf73f23ed6484ef07681
9b85e4235558a2887c2be3998124b615
8a4605be74aa9ea9d79846c1fba20a33
6d9c281956f02af1c16d084e2bc373f7
6c7ecf7ae7d81458bd1b48bd7b6613a6
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFJF - Universidade Federal de Juiz de Fora (UFJF)
repository.mail.fl_str_mv
_version_ 1813193931226087424