Please use this identifier to cite or link to this item: https://repositorio.ufjf.br/jspui/handle/ufjf/14193
Files in This Item:
File Description SizeFormat 
nathanmaneramagalhaes.pdfPDF/A4.29 MBAdobe PDFThumbnail
View/Open
Type: Dissertação
Title: Uma abordagem para a seleção de desenvolvedores baseada na reputação e esquecimento em projetos de software
Author: Magalhães, Nathan Manera
First Advisor: David, José Maria Nazar
Co-Advisor: Araújo, Marco Antônio Pereira
Referee Member: Dantas, Mario Antonio Ribeiro
Referee Member: Sirqueira, Tássio Ferenzini Martins
Resumo: Tarefas de manutenção são essenciais para manter o pleno funcionamento de um software durante seu ciclo de vida. Porém, conforme um software evolui, seu código-fonte tende a tornar-se cada vez mais complexo e de difícil manutenção, tornando-se mais propício a apresentar defeitos ao usuário final. Com isso, escolher desenvolvedores apropriados para as tarefas de manutenção de software torna-se uma atividade também complexa, com alto consumo de tempo e suscetível a falhas de decisão quando realizada manualmente. Pois, para que uma escolha de desenvolvedores aptos às tarefas seja adequada, devem-se conhecer bem as expertises de cada candidato. Também é importante conhecer o quanto esses desenvolvedores têm trabalhado nos conhecimentos (expertises) em tecnologia exigidos pelas tarefas, sendo isso averiguado através de suas contribuições em plataformas de apoio ao desenvolvimento de software, tais como o GitHub, StackOverflow e TopCoder. Através dessas contribuições históricas, é possível estabelecer a reputação que os desenvolvedores possuem nas expertises trabalhadas como também verificar se esses conhecimentos não estão em desuso por longo tempo (esquecimento). A solução proposta deste trabalho foi desenvolvida com o intuito de apoiar a seleção de desenvolvedores para tarefas de manutenção de software considerando reputação e esquecimento destes nos conhecimentos de tecnologias em projetos de software. Para cada tarefa de software são listadas sugestões de desenvolvedores considerando reputação e esquecimento nos conhecimentos exigidos pela tarefa. Uma avaliação foi realizada para verificar a equivalência dessas sugestões com as atribuições históricas de desenvolvedores ocorridas em tarefas de projetos de software. Foram encontradas evidências a favor do uso da reputação e do esquecimento para o apoio na seleção de desenvolvedores em tarefas de manutenção de software.
Abstract: Maintenance tasks are essential to keep the software running during its life cycle. However, as software evolves, its source code tends to become increasingly complex and difficult to maintain, making it more likely to present defects to the end-user. As a result, choosing appropriate developers for software maintenance tasks becomes a complex, timeconsuming activity and susceptible to decision failures when performed manually. Because, for suitable developers for the functions, each candidate's expertise must be well known. It is also important to know how much these developers have worked on the knowledge (expertise) in technology required by the tasks, which is verified through their contributions to platforms that support software development, such as GitHub, StackOverflow, and TopCoder. These historical contributions make it possible to establish developers' reputation in their expertise and verify that this knowledge is not in disuse for a long time (forgetfulness). The proposed solution of this work was developed in order to support the selection of developers for software maintenance tasks considering their reputation and forgetfulness in the knowledge of technologies in software projects. For each software task, developers' suggestions are listed, considering reputation and forgetfulness in the knowledge required by the task. An evaluation was conducted to verify these suggestions' equivalence with the developers' historical attributions in software project tasks. Favorable evidence of the use of reputation and forgetfulness was found to support the selection of developers in software maintenance tasks.
Keywords: Seleção de desenvolvedores
Reputação
Esquecimento
Manutenção de software
Developer selection
Reputation
Forgetfulness
Software maintenance
CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Language: por
Country: Brasil
Publisher: Universidade Federal de Juiz de Fora (UFJF)
Institution Initials: UFJF
Department: ICE – Instituto de Ciências Exatas
Program: Programa de Pós-graduação em Ciência da Computação
Access Type: Acesso Aberto
Attribution-NonCommercial-NoDerivs 3.0 Brazil
Creative Commons License: http://creativecommons.org/licenses/by-nc-nd/3.0/br/
DOI: https://doi.org/10.34019/ufjf/di/2022/00081
URI: https://repositorio.ufjf.br/jspui/handle/ufjf/14193
Issue Date: 3-Mar-2022
Appears in Collections:Mestrado em Ciência da Computação (Dissertações)



This item is licensed under a Creative Commons License Creative Commons