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
Full metadata record
DC FieldValueLanguage
dc.contributor.advisor1David, José Maria Nazar-
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/3640497501056163pt_BR
dc.contributor.advisor-co1Araújo, Marco Antônio Pereira-
dc.contributor.advisor-co1Latteshttp://lattes.cnpq.br/8908009613435024pt_BR
dc.contributor.referee1Dantas, Mario Antonio Ribeiro-
dc.contributor.referee1Latteshttp://lattes.cnpq.br/2900995280822495pt_BR
dc.contributor.referee2Sirqueira, Tássio Ferenzini Martins-
dc.contributor.referee2Latteshttp://lattes.cnpq.br/4548346554369389pt_BR
dc.creatorMagalhães, Nathan Manera-
dc.creator.Latteshttp://lattes.cnpq.br/8900094088847517pt_BR
dc.date.accessioned2022-06-20T17:46:09Z-
dc.date.available2022-06-15-
dc.date.available2022-06-20T17:46:09Z-
dc.date.issued2022-03-03-
dc.identifier.doihttps://doi.org/10.34019/ufjf/di/2022/00081-
dc.identifier.urihttps://repositorio.ufjf.br/jspui/handle/ufjf/14193-
dc.description.abstractMaintenance 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.pt_BR
dc.description.resumoTarefas 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.pt_BR
dc.languageporpt_BR
dc.publisherUniversidade Federal de Juiz de Fora (UFJF)pt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.departmentICE – Instituto de Ciências Exataspt_BR
dc.publisher.programPrograma de Pós-graduação em Ciência da Computaçãopt_BR
dc.publisher.initialsUFJFpt_BR
dc.rightsAcesso Abertopt_BR
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 Brazil*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/br/*
dc.subjectSeleção de desenvolvedorespt_BR
dc.subjectReputaçãopt_BR
dc.subjectEsquecimentopt_BR
dc.subjectManutenção de softwarept_BR
dc.subjectDeveloper selectionpt_BR
dc.subjectReputationpt_BR
dc.subjectForgetfulnesspt_BR
dc.subjectSoftware maintenancept_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
dc.titleUma abordagem para a seleção de desenvolvedores baseada na reputação e esquecimento em projetos de softwarept_BR
dc.typeDissertaçãopt_BR
Appears in Collections:Mestrado em Ciência da Computação (Dissertações)



This item is licensed under a Creative Commons License Creative Commons