Uma abordagem para a seleção de desenvolvedores baseada na reputação e esquecimento em projetos de software

Detalhes bibliográficos
Autor(a) principal: Magalhães, Nathan Manera
Data de Publicação: 2022
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFJF
Texto Completo: https://doi.org/10.34019/ufjf/di/2022/00081
https://repositorio.ufjf.br/jspui/handle/ufjf/14193
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.
id UFJF_0012b4f397b276f4a19f479ec50307ce
oai_identifier_str oai:hermes.cpd.ufjf.br:ufjf/14193
network_acronym_str UFJF
network_name_str Repositório Institucional da UFJF
repository_id_str
spelling David, José Maria Nazarhttp://lattes.cnpq.br/3640497501056163Araújo, Marco Antônio Pereirahttp://lattes.cnpq.br/8908009613435024Dantas, Mario Antonio Ribeirohttp://lattes.cnpq.br/2900995280822495Sirqueira, Tássio Ferenzini Martinshttp://lattes.cnpq.br/4548346554369389http://lattes.cnpq.br/8900094088847517Magalhães, Nathan Manera2022-06-20T17:46:09Z2022-06-152022-06-20T17:46:09Z2022-03-03https://doi.org/10.34019/ufjf/di/2022/00081https://repositorio.ufjf.br/jspui/handle/ufjf/14193Tarefas 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.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.porUniversidade Federal de Juiz de Fora (UFJF)Programa de Pós-graduação em Ciência da ComputaçãoUFJFBrasilICE – Instituto de Ciências ExatasAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOSeleção de desenvolvedoresReputaçãoEsquecimentoManutenção de softwareDeveloper selectionReputationForgetfulnessSoftware maintenanceUma abordagem para a seleção de desenvolvedores baseada na reputação e esquecimento em projetos de softwareinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFJFinstname:Universidade Federal de Juiz de Fora (UFJF)instacron:UFJFORIGINALnathanmaneramagalhaes.pdfnathanmaneramagalhaes.pdfPDF/Aapplication/pdf4397018https://repositorio.ufjf.br/jspui/bitstream/ufjf/14193/1/nathanmaneramagalhaes.pdfe4463f9d386f063396b9692048a6f196MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://repositorio.ufjf.br/jspui/bitstream/ufjf/14193/3/license.txt8a4605be74aa9ea9d79846c1fba20a33MD53CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufjf.br/jspui/bitstream/ufjf/14193/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52TEXTnathanmaneramagalhaes.pdf.txtnathanmaneramagalhaes.pdf.txtExtracted texttext/plain245096https://repositorio.ufjf.br/jspui/bitstream/ufjf/14193/4/nathanmaneramagalhaes.pdf.txt1d42e7c3ef988dc8b76065347b891ad1MD54THUMBNAILnathanmaneramagalhaes.pdf.jpgnathanmaneramagalhaes.pdf.jpgGenerated Thumbnailimage/jpeg1170https://repositorio.ufjf.br/jspui/bitstream/ufjf/14193/5/nathanmaneramagalhaes.pdf.jpgb119f01fc9f3a1b04f93cfaa495c2607MD55ufjf/141932022-11-21 09:05:50.166oai:hermes.cpd.ufjf.br:ufjf/14193Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ufjf.br/oai/requestopendoar:2022-11-21T11:05:50Repositório Institucional da UFJF - Universidade Federal de Juiz de Fora (UFJF)false
dc.title.pt_BR.fl_str_mv Uma abordagem para a seleção de desenvolvedores baseada na reputação e esquecimento em projetos de software
title Uma abordagem para a seleção de desenvolvedores baseada na reputação e esquecimento em projetos de software
spellingShingle Uma abordagem para a seleção de desenvolvedores baseada na reputação e esquecimento em projetos de software
Magalhães, Nathan Manera
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Seleção de desenvolvedores
Reputação
Esquecimento
Manutenção de software
Developer selection
Reputation
Forgetfulness
Software maintenance
title_short Uma abordagem para a seleção de desenvolvedores baseada na reputação e esquecimento em projetos de software
title_full Uma abordagem para a seleção de desenvolvedores baseada na reputação e esquecimento em projetos de software
title_fullStr Uma abordagem para a seleção de desenvolvedores baseada na reputação e esquecimento em projetos de software
title_full_unstemmed Uma abordagem para a seleção de desenvolvedores baseada na reputação e esquecimento em projetos de software
title_sort Uma abordagem para a seleção de desenvolvedores baseada na reputação e esquecimento em projetos de software
author Magalhães, Nathan Manera
author_facet Magalhães, Nathan Manera
author_role author
dc.contributor.advisor1.fl_str_mv David, José Maria Nazar
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/3640497501056163
dc.contributor.advisor-co1.fl_str_mv Araújo, Marco Antônio Pereira
dc.contributor.advisor-co1Lattes.fl_str_mv http://lattes.cnpq.br/8908009613435024
dc.contributor.referee1.fl_str_mv Dantas, Mario Antonio Ribeiro
dc.contributor.referee1Lattes.fl_str_mv http://lattes.cnpq.br/2900995280822495
dc.contributor.referee2.fl_str_mv Sirqueira, Tássio Ferenzini Martins
dc.contributor.referee2Lattes.fl_str_mv http://lattes.cnpq.br/4548346554369389
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/8900094088847517
dc.contributor.author.fl_str_mv Magalhães, Nathan Manera
contributor_str_mv David, José Maria Nazar
Araújo, Marco Antônio Pereira
Dantas, Mario Antonio Ribeiro
Sirqueira, Tássio Ferenzini Martins
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Seleção de desenvolvedores
Reputação
Esquecimento
Manutenção de software
Developer selection
Reputation
Forgetfulness
Software maintenance
dc.subject.por.fl_str_mv Seleção de desenvolvedores
Reputação
Esquecimento
Manutenção de software
Developer selection
Reputation
Forgetfulness
Software maintenance
description 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.
publishDate 2022
dc.date.accessioned.fl_str_mv 2022-06-20T17:46:09Z
dc.date.available.fl_str_mv 2022-06-15
2022-06-20T17:46:09Z
dc.date.issued.fl_str_mv 2022-03-03
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://repositorio.ufjf.br/jspui/handle/ufjf/14193
dc.identifier.doi.none.fl_str_mv https://doi.org/10.34019/ufjf/di/2022/00081
url https://doi.org/10.34019/ufjf/di/2022/00081
https://repositorio.ufjf.br/jspui/handle/ufjf/14193
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Juiz de Fora (UFJF)
dc.publisher.program.fl_str_mv Programa de Pós-graduação em Ciência da Computação
dc.publisher.initials.fl_str_mv UFJF
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv ICE – Instituto de Ciências Exatas
publisher.none.fl_str_mv Universidade Federal de Juiz de Fora (UFJF)
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFJF
instname:Universidade Federal de Juiz de Fora (UFJF)
instacron:UFJF
instname_str Universidade Federal de Juiz de Fora (UFJF)
instacron_str UFJF
institution UFJF
reponame_str Repositório Institucional da UFJF
collection Repositório Institucional da UFJF
bitstream.url.fl_str_mv https://repositorio.ufjf.br/jspui/bitstream/ufjf/14193/1/nathanmaneramagalhaes.pdf
https://repositorio.ufjf.br/jspui/bitstream/ufjf/14193/3/license.txt
https://repositorio.ufjf.br/jspui/bitstream/ufjf/14193/2/license_rdf
https://repositorio.ufjf.br/jspui/bitstream/ufjf/14193/4/nathanmaneramagalhaes.pdf.txt
https://repositorio.ufjf.br/jspui/bitstream/ufjf/14193/5/nathanmaneramagalhaes.pdf.jpg
bitstream.checksum.fl_str_mv e4463f9d386f063396b9692048a6f196
8a4605be74aa9ea9d79846c1fba20a33
e39d27027a6cc9cb039ad269a5db8e34
1d42e7c3ef988dc8b76065347b891ad1
b119f01fc9f3a1b04f93cfaa495c2607
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFJF - Universidade Federal de Juiz de Fora (UFJF)
repository.mail.fl_str_mv
_version_ 1801661293365559296