Please use this identifier to cite or link to this item: http://hdl.handle.net/1843/63962
Type: Tese
Title: Finding collaborations based on co-changed files
Other Titles: Localizando colaborações com base em alteração de arquivos
Authors: Kattiana Fernandes Constantino
First Advisor: Eduardo Magno Lages Figueiredo
First Referee: Raquel Oliveira Prates
Second Referee: Marco Túlio de Oliveira Valente
Third Referee: Igor Fábio Steinmacher
metadata.dc.contributor.referee4: Marcelo de Almeida Maia
Abstract: 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.
Abstract: 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.
Subject: Computação – Teses
Engenharia de software – Teses
Sistemas abertos (Computadores) – Teses
Software – Desenvolvimento – Sistemas colaborativos - Teses
language: eng
metadata.dc.publisher.country: Brasil
Publisher: Universidade Federal de Minas Gerais
Publisher Initials: UFMG
metadata.dc.publisher.department: ICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
metadata.dc.publisher.program: Programa de Pós-Graduação em Ciência da Computação
Rights: Acesso Aberto
metadata.dc.rights.uri: http://creativecommons.org/licenses/by-nc-nd/3.0/pt/
URI: http://hdl.handle.net/1843/63962
Issue Date: 15-Jul-2022
Appears in Collections:Teses de Doutorado

Files in This Item:
File Description SizeFormat 
FindingCollaborating_TeseDeDoutorado_versaoFinal_ppgccufmg.pdf2.68 MBAdobe PDFView/Open


This item is licensed under a Creative Commons License Creative Commons