Recomendação de revisores de código no desenvolvimento distribuído de software
Autor(a) principal: | |
---|---|
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 |