Finding collaborations based on co-changed files
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Tipo de documento: | Tese |
Idioma: | eng |
Título da fonte: | Repositório Institucional da UFMG |
Texto Completo: | http://hdl.handle.net/1843/63962 https://orcid.org/0000-0003-4511-7504 |
Resumo: | Desenvolvedores devem colaborar entre si em todos os estágios do ciclo de vida do software para criar sistemas bem-sucedidos. No entanto, em grandes projetos com centenas de desenvolvedores, como os projetos de código aberto, pode ser muito complexo encontrar desenvolvedores com a mesma afinidade e, assim, obter boas colaborações e novos insights. Além disso, nesse contexto de projetos, pode haver desperdício de recursos e esforços, o que desencoraja a permanência de muitos desenvolvedores. Portanto, esta tese de doutorado propõe uma investigação sobre o desenvolvimento colaborativo baseadas em interesses similares de código. Foram realizados cinco estudos empíricos, nos quais: (1) investigamos como as colaborações acontecem em desenvolvimento de projetos de código aberto. Algumas das principais conclusões do estudo da entrevista incluem que a colaboração transcende a codificação e inclui tarefas de documentação e de gerenciamento; (2) investigamos quão abertos os desenvolvedores estão para colaborarem uns para com os outros. Algumas análises do estudo de pesquisa revelaram que a maioria dos participantes (85%) prefere trabalhar em colaboração com a equipe principal e 30% prefere trabalhar em tarefas independentes; (3) propomos duas estratégias de recomendação de desenvolvedores e um protótipo para suportá-las; (4) avaliamos as duas estratégias de recomendação de desenvolvedores, sob o ponto de vista de quem recebe a recomendação; as taxas de aceitação para eles foram superiores a 65%. Quando juntamos as estratégias, a taxa de aceitação foi de 81%. Finalmente, (5) também avaliamos o suporte ferramental com usuários e não usuários do GitHub. Baseado nos resultados obtidos nesta tese de doutorado, é possível que os desenvolvedores e mantenedores possam adquirir o conhecimento para fomentar as colaborações no projeto e consequentemente, evitar o esvaziamento do mesmo. |
id |
UFMG_54e05c275f91268e2b3d8f6f869e97fe |
---|---|
oai_identifier_str |
oai:repositorio.ufmg.br:1843/63962 |
network_acronym_str |
UFMG |
network_name_str |
Repositório Institucional da UFMG |
repository_id_str |
|
spelling |
Eduardo Magno Lages Figueiredohttp://lattes.cnpq.br/1265706528850746Raquel Oliveira PratesMarco Túlio de Oliveira ValenteIgor Fábio SteinmacherMarcelo de Almeida Maiahttp://lattes.cnpq.br/3081878651653793Kattiana Fernandes Constantino2024-02-15T03:03:30Z2024-02-15T03:03:30Z2022-07-15http://hdl.handle.net/1843/63962https://orcid.org/0000-0003-4511-7504Desenvolvedores devem colaborar entre si em todos os estágios do ciclo de vida do software para criar sistemas bem-sucedidos. No entanto, em grandes projetos com centenas de desenvolvedores, como os projetos de código aberto, pode ser muito complexo encontrar desenvolvedores com a mesma afinidade e, assim, obter boas colaborações e novos insights. Além disso, nesse contexto de projetos, pode haver desperdício de recursos e esforços, o que desencoraja a permanência de muitos desenvolvedores. Portanto, esta tese de doutorado propõe uma investigação sobre o desenvolvimento colaborativo baseadas em interesses similares de código. Foram realizados cinco estudos empíricos, nos quais: (1) investigamos como as colaborações acontecem em desenvolvimento de projetos de código aberto. Algumas das principais conclusões do estudo da entrevista incluem que a colaboração transcende a codificação e inclui tarefas de documentação e de gerenciamento; (2) investigamos quão abertos os desenvolvedores estão para colaborarem uns para com os outros. Algumas análises do estudo de pesquisa revelaram que a maioria dos participantes (85%) prefere trabalhar em colaboração com a equipe principal e 30% prefere trabalhar em tarefas independentes; (3) propomos duas estratégias de recomendação de desenvolvedores e um protótipo para suportá-las; (4) avaliamos as duas estratégias de recomendação de desenvolvedores, sob o ponto de vista de quem recebe a recomendação; as taxas de aceitação para eles foram superiores a 65%. Quando juntamos as estratégias, a taxa de aceitação foi de 81%. Finalmente, (5) também avaliamos o suporte ferramental com usuários e não usuários do GitHub. Baseado nos resultados obtidos nesta tese de doutorado, é possível que os desenvolvedores e mantenedores possam adquirir o conhecimento para fomentar as colaborações no projeto e consequentemente, evitar o esvaziamento do mesmo.Software developers must collaborate at all stages of the software life-cycle to create successful software systems. However, for large projects with hundreds of dynamic developers, such as several successful open source projects, it can be very complex to find developers with the same affinity and thus gain suitable collaborations and new insights. Besides, in this project context, resources and efforts may be wasted, discouraging many developers from staying. Therefore, this doctoral thesis proposes an investigation of collaborative development based on similar code interests and tool-supported strategies to help developers find suitable collaborators. We performed five empirical studies: (1) we investigated how collaborations happen in open-source software development projects through an interview study. Some main findings from the interview study include that collaboration transcends coding and includes documentation and management tasks; (2) we designed and performed a survey study to investigate how open developers are to collaborate with others. Some analysis from the survey study revealed that most participants (85%) prefer to work collaboratively with the core team members and 30% prefer to work in independent tasks; (3) we provided two strategies based on co-changed files and a prototype tool, named CoopFinder, that support them; (4) we evaluated these two strategies to motivate collaborations based on changes of similar code of point of view of who receives the developer recommendations. As a result, the acceptance rates for them were greater than 65%. The joint strategy presented the best acceptance rate (81%); and, (5) we also evaluated these strategies and their supporting tool with GitHub users and non-GitHub users. About 86% of the participants answered that they could use or recommend this tool. Based on the results obtained in this doctoral thesis, it is possible that developers and maintainers can acquire the knowledge to foster collaborations in the project and, consequently, avoid emptying it.CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível SuperiorengUniversidade Federal de Minas GeraisPrograma de Pós-Graduação em Ciência da ComputaçãoUFMGBrasilICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃOhttp://creativecommons.org/licenses/by-nc-nd/3.0/pt/info:eu-repo/semantics/openAccessComputação – TesesEngenharia de software – TesesSistemas abertos (Computadores) – TesesSoftware – Desenvolvimento – Sistemas colaborativos - TesesOpen-source software projectsCollaborative software developmentDistributed collaborationDeveloper recommendationFinding collaborations based on co-changed filesLocalizando colaborações com base em alteração de arquivosinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGORIGINALFindingCollaborating_TeseDeDoutorado_versaoFinal_ppgccufmg.pdfFindingCollaborating_TeseDeDoutorado_versaoFinal_ppgccufmg.pdfapplication/pdf2739282https://repositorio.ufmg.br/bitstream/1843/63962/4/FindingCollaborating_TeseDeDoutorado_versaoFinal_ppgccufmg.pdf7898e7ea1afaa370fb2fa247661b53d0MD54CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufmg.br/bitstream/1843/63962/5/license_rdfcfd6801dba008cb6adbd9838b81582abMD55LICENSElicense.txtlicense.txttext/plain; charset=utf-82118https://repositorio.ufmg.br/bitstream/1843/63962/6/license.txtcda590c95a0b51b4d15f60c9642ca272MD561843/639622024-02-15 00:03:31.102oai:repositorio.ufmg.br:1843/63962TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEgRE8gUkVQT1NJVMOTUklPIElOU1RJVFVDSU9OQUwgREEgVUZNRwoKQ29tIGEgYXByZXNlbnRhw6fDo28gZGVzdGEgbGljZW7Dp2EsIHZvY8OqIChvIGF1dG9yIChlcykgb3UgbyB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvcikgY29uY2VkZSBhbyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBkYSBVRk1HIChSSS1VRk1HKSBvIGRpcmVpdG8gbsOjbyBleGNsdXNpdm8gZSBpcnJldm9nw6F2ZWwgZGUgcmVwcm9kdXppciBlL291IGRpc3RyaWJ1aXIgYSBzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIHBvciB0b2RvIG8gbXVuZG8gbm8gZm9ybWF0byBpbXByZXNzbyBlIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIGZvcm1hdG9zIMOhdWRpbyBvdSB2w61kZW8uCgpWb2PDqiBkZWNsYXJhIHF1ZSBjb25oZWNlIGEgcG9sw610aWNhIGRlIGNvcHlyaWdodCBkYSBlZGl0b3JhIGRvIHNldSBkb2N1bWVudG8gZSBxdWUgY29uaGVjZSBlIGFjZWl0YSBhcyBEaXJldHJpemVzIGRvIFJJLVVGTUcuCgpWb2PDqiBjb25jb3JkYSBxdWUgbyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBkYSBVRk1HIHBvZGUsIHNlbSBhbHRlcmFyIG8gY29udGXDumRvLCB0cmFuc3BvciBhIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBvIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGTUcgcG9kZSBtYW50ZXIgbWFpcyBkZSB1bWEgY8OzcGlhIGRlIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBmaW5zIGRlIHNlZ3VyYW7Dp2EsIGJhY2stdXAgZSBwcmVzZXJ2YcOnw6NvLgoKVm9jw6ogZGVjbGFyYSBxdWUgYSBzdWEgcHVibGljYcOnw6NvIMOpIG9yaWdpbmFsIGUgcXVlIHZvY8OqIHRlbSBvIHBvZGVyIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIG5lc3RhIGxpY2Vuw6dhLiBWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRlIHN1YSBwdWJsaWNhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgZGUgbmluZ3XDqW0uCgpDYXNvIGEgc3VhIHB1YmxpY2HDp8OjbyBjb250ZW5oYSBtYXRlcmlhbCBxdWUgdm9jw6ogbsOjbyBwb3NzdWkgYSB0aXR1bGFyaWRhZGUgZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCB2b2PDqiBkZWNsYXJhIHF1ZSBvYnRldmUgYSBwZXJtaXNzw6NvIGlycmVzdHJpdGEgZG8gZGV0ZW50b3IgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIHBhcmEgY29uY2VkZXIgYW8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgZGEgVUZNRyBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgbmVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3Ugbm8gY29udGXDumRvIGRhIHB1YmxpY2HDp8OjbyBvcmEgZGVwb3NpdGFkYS4KCkNBU08gQSBQVUJMSUNBw4fDg08gT1JBIERFUE9TSVRBREEgVEVOSEEgU0lETyBSRVNVTFRBRE8gREUgVU0gUEFUUk9Dw41OSU8gT1UgQVBPSU8gREUgVU1BIEFHw4pOQ0lBIERFIEZPTUVOVE8gT1UgT1VUUk8gT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyBUQU1Cw4lNIEFTIERFTUFJUyBPQlJJR0HDh8OVRVMgRVhJR0lEQVMgUE9SIENPTlRSQVRPIE9VIEFDT1JETy4KCk8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgZGEgVUZNRyBzZSBjb21wcm9tZXRlIGEgaWRlbnRpZmljYXIgY2xhcmFtZW50ZSBvIHNldSBub21lKHMpIG91IG8ocykgbm9tZXMocykgZG8ocykgZGV0ZW50b3IoZXMpIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4KRepositório de PublicaçõesPUBhttps://repositorio.ufmg.br/oaiopendoar:2024-02-15T03:03:31Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false |
dc.title.pt_BR.fl_str_mv |
Finding collaborations based on co-changed files |
dc.title.alternative.pt_BR.fl_str_mv |
Localizando colaborações com base em alteração de arquivos |
title |
Finding collaborations based on co-changed files |
spellingShingle |
Finding collaborations based on co-changed files Kattiana Fernandes Constantino Open-source software projects Collaborative software development Distributed collaboration Developer recommendation Computação – Teses Engenharia de software – Teses Sistemas abertos (Computadores) – Teses Software – Desenvolvimento – Sistemas colaborativos - Teses |
title_short |
Finding collaborations based on co-changed files |
title_full |
Finding collaborations based on co-changed files |
title_fullStr |
Finding collaborations based on co-changed files |
title_full_unstemmed |
Finding collaborations based on co-changed files |
title_sort |
Finding collaborations based on co-changed files |
author |
Kattiana Fernandes Constantino |
author_facet |
Kattiana Fernandes Constantino |
author_role |
author |
dc.contributor.advisor1.fl_str_mv |
Eduardo Magno Lages Figueiredo |
dc.contributor.advisor1Lattes.fl_str_mv |
http://lattes.cnpq.br/1265706528850746 |
dc.contributor.referee1.fl_str_mv |
Raquel Oliveira Prates |
dc.contributor.referee2.fl_str_mv |
Marco Túlio de Oliveira Valente |
dc.contributor.referee3.fl_str_mv |
Igor Fábio Steinmacher |
dc.contributor.referee4.fl_str_mv |
Marcelo de Almeida Maia |
dc.contributor.authorLattes.fl_str_mv |
http://lattes.cnpq.br/3081878651653793 |
dc.contributor.author.fl_str_mv |
Kattiana Fernandes Constantino |
contributor_str_mv |
Eduardo Magno Lages Figueiredo Raquel Oliveira Prates Marco Túlio de Oliveira Valente Igor Fábio Steinmacher Marcelo de Almeida Maia |
dc.subject.por.fl_str_mv |
Open-source software projects Collaborative software development Distributed collaboration Developer recommendation |
topic |
Open-source software projects Collaborative software development Distributed collaboration Developer recommendation Computação – Teses Engenharia de software – Teses Sistemas abertos (Computadores) – Teses Software – Desenvolvimento – Sistemas colaborativos - Teses |
dc.subject.other.pt_BR.fl_str_mv |
Computação – Teses Engenharia de software – Teses Sistemas abertos (Computadores) – Teses Software – Desenvolvimento – Sistemas colaborativos - Teses |
description |
Desenvolvedores devem colaborar entre si em todos os estágios do ciclo de vida do software para criar sistemas bem-sucedidos. No entanto, em grandes projetos com centenas de desenvolvedores, como os projetos de código aberto, pode ser muito complexo encontrar desenvolvedores com a mesma afinidade e, assim, obter boas colaborações e novos insights. Além disso, nesse contexto de projetos, pode haver desperdício de recursos e esforços, o que desencoraja a permanência de muitos desenvolvedores. Portanto, esta tese de doutorado propõe uma investigação sobre o desenvolvimento colaborativo baseadas em interesses similares de código. Foram realizados cinco estudos empíricos, nos quais: (1) investigamos como as colaborações acontecem em desenvolvimento de projetos de código aberto. Algumas das principais conclusões do estudo da entrevista incluem que a colaboração transcende a codificação e inclui tarefas de documentação e de gerenciamento; (2) investigamos quão abertos os desenvolvedores estão para colaborarem uns para com os outros. Algumas análises do estudo de pesquisa revelaram que a maioria dos participantes (85%) prefere trabalhar em colaboração com a equipe principal e 30% prefere trabalhar em tarefas independentes; (3) propomos duas estratégias de recomendação de desenvolvedores e um protótipo para suportá-las; (4) avaliamos as duas estratégias de recomendação de desenvolvedores, sob o ponto de vista de quem recebe a recomendação; as taxas de aceitação para eles foram superiores a 65%. Quando juntamos as estratégias, a taxa de aceitação foi de 81%. Finalmente, (5) também avaliamos o suporte ferramental com usuários e não usuários do GitHub. Baseado nos resultados obtidos nesta tese de doutorado, é possível que os desenvolvedores e mantenedores possam adquirir o conhecimento para fomentar as colaborações no projeto e consequentemente, evitar o esvaziamento do mesmo. |
publishDate |
2022 |
dc.date.issued.fl_str_mv |
2022-07-15 |
dc.date.accessioned.fl_str_mv |
2024-02-15T03:03:30Z |
dc.date.available.fl_str_mv |
2024-02-15T03:03:30Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
format |
doctoralThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/1843/63962 |
dc.identifier.orcid.pt_BR.fl_str_mv |
https://orcid.org/0000-0003-4511-7504 |
url |
http://hdl.handle.net/1843/63962 https://orcid.org/0000-0003-4511-7504 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
http://creativecommons.org/licenses/by-nc-nd/3.0/pt/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
http://creativecommons.org/licenses/by-nc-nd/3.0/pt/ |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal de Minas Gerais |
dc.publisher.program.fl_str_mv |
Programa de Pós-Graduação em Ciência da Computação |
dc.publisher.initials.fl_str_mv |
UFMG |
dc.publisher.country.fl_str_mv |
Brasil |
dc.publisher.department.fl_str_mv |
ICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO |
publisher.none.fl_str_mv |
Universidade Federal de Minas Gerais |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFMG instname:Universidade Federal de Minas Gerais (UFMG) instacron:UFMG |
instname_str |
Universidade Federal de Minas Gerais (UFMG) |
instacron_str |
UFMG |
institution |
UFMG |
reponame_str |
Repositório Institucional da UFMG |
collection |
Repositório Institucional da UFMG |
bitstream.url.fl_str_mv |
https://repositorio.ufmg.br/bitstream/1843/63962/4/FindingCollaborating_TeseDeDoutorado_versaoFinal_ppgccufmg.pdf https://repositorio.ufmg.br/bitstream/1843/63962/5/license_rdf https://repositorio.ufmg.br/bitstream/1843/63962/6/license.txt |
bitstream.checksum.fl_str_mv |
7898e7ea1afaa370fb2fa247661b53d0 cfd6801dba008cb6adbd9838b81582ab cda590c95a0b51b4d15f60c9642ca272 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG) |
repository.mail.fl_str_mv |
|
_version_ |
1803589495720771584 |