dc.contributorDavid, José Maria Nazar
dc.contributorhttp://lattes.cnpq.br/3640497501056163
dc.contributorAraújo, Marco Antônio Pereira
dc.contributorhttp://lattes.cnpq.br/8908009613435024
dc.contributorDantas, Mario Antonio Ribeiro
dc.contributorhttp://lattes.cnpq.br/2900995280822495
dc.contributorSirqueira, Tássio Ferenzini Martins
dc.contributorhttp://lattes.cnpq.br/4548346554369389
dc.creatorMagalhães, Nathan Manera
dc.date2022-06-20T17:46:09Z
dc.date2022-06-15
dc.date2022-06-20T17:46:09Z
dc.date2022-03-03
dc.date.accessioned2023-09-29T15:15:19Z
dc.date.available2023-09-29T15:15:19Z
dc.identifierhttps://doi.org/10.34019/ufjf/di/2022/00081
dc.identifierhttps://repositorio.ufjf.br/jspui/handle/ufjf/14193
dc.identifier.urihttps://repositorioslatinoamericanos.uchile.cl/handle/2250/9127408
dc.descriptionMaintenance 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.
dc.descriptionTarefas 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.
dc.formatapplication/pdf
dc.languagepor
dc.publisherUniversidade Federal de Juiz de Fora (UFJF)
dc.publisherBrasil
dc.publisherICE – Instituto de Ciências Exatas
dc.publisherPrograma de Pós-graduação em Ciência da Computação
dc.publisherUFJF
dc.rightsAcesso Aberto
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 Brazil
dc.rightshttp://creativecommons.org/licenses/by-nc-nd/3.0/br/
dc.subjectSeleção de desenvolvedores
dc.subjectReputação
dc.subjectEsquecimento
dc.subjectManutenção de software
dc.subjectDeveloper selection
dc.subjectReputation
dc.subjectForgetfulness
dc.subjectSoftware maintenance
dc.subjectCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
dc.titleUma abordagem para a seleção de desenvolvedores baseada na reputação e esquecimento em projetos de software
dc.typeDissertação


Este ítem pertenece a la siguiente institución