https://repositorio.ufjf.br/jspui/handle/ufjf/14193
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
nathanmaneramagalhaes.pdf | PDF/A | 4.29 MB | Adobe PDF | Visualizar/Abrir |
Tipo: | Dissertação |
Título: | Uma abordagem para a seleção de desenvolvedores baseada na reputação e esquecimento em projetos de software |
Autor(es): | Magalhães, Nathan Manera |
Primeiro Orientador: | David, José Maria Nazar |
Co-orientador: | Araújo, Marco Antônio Pereira |
Membro da banca: | Dantas, Mario Antonio Ribeiro |
Membro da banca: | 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. |
Palavras-chave: | 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 |
Idioma: | por |
País: | Brasil |
Editor: | Universidade Federal de Juiz de Fora (UFJF) |
Sigla da Instituição: | UFJF |
Departamento: | ICE – Instituto de Ciências Exatas |
Programa: | Programa de Pós-graduação em Ciência da Computação |
Tipo de Acesso: | Acesso Aberto Attribution-NonCommercial-NoDerivs 3.0 Brazil |
Licenças Creative Commons: | 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 |
Data do documento: | 3-Mar-2022 |
Aparece nas coleções: | Mestrado em Ciência da Computação (Dissertações) |
Este item está licenciado sob uma Licença Creative Commons