Please use this identifier to cite or link to this item: http://hdl.handle.net/11422/15840
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorRossetto, Silvana-
dc.contributor.authorFernandes, Mayara Martins Poim-
dc.date.accessioned2021-12-27T20:49:49Z-
dc.date.available2023-12-21T03:08:43Z-
dc.date.issued2021-12-10-
dc.identifier.urihttp://hdl.handle.net/11422/15840-
dc.languageporpt_BR
dc.publisherUniversidade Federal do Rio de Janeiropt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectConcorrênciapt_BR
dc.subjectTestespt_BR
dc.subjectCorridas de dadospt_BR
dc.subjectDeadlocken
dc.titleAnálise de ferramentas de teste no contexto de aprendizado de programação concorrentept_BR
dc.typeTrabalho de conclusão de graduaçãopt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/0054098292730720pt_BR
dc.contributor.authorLatteshttp://lattes.cnpq.br/4505932673248121pt_BR
dc.contributor.referee1Rodriguez, Noemi de La Rocque-
dc.contributor.referee1Latteshttp://lattes.cnpq.br/4933326132948063pt_BR
dc.contributor.referee2Marcelino, Carolina Gil-
dc.contributor.referee2Latteshttp://lattes.cnpq.br/3289676418940953pt_BR
dc.description.resumoProgramas com múltiplos fluxos de execução são chamados programas concorrentes. Estes programas, devido às inúmeras possibilidades de intercalações destes fluxos e necessidade de sincronização entre eles, estão suscetíveis a diversos problemas não presentes na programação sequencial, como corridas de dados, deadlocks, e violações de atomicidade e ordem. Este não-determinismo traz um grande desafio tanto no desenvolvimento de sistemas concorrentes, quanto no aprendizado de conceitos de concorrência, principalmente para alunos iniciantes na área. Considerando esta dificuldade, este trabalho buscou encontrar ferramentas didáticas para realização de testes em programas concorrentes, analisando diversas abordagens propostas de teste e selecionando as ferramentas mais adequadas para o propósito acadêmico. As ferramentas FastTrack, RVPredict e Atomizer foram estudadas com maior detalhamento e experimentadas com programas clássicos de concorrência, como produtor-consumidor, avaliando problemas de corrida de dados e violação de atomicidade. Na avaliação de cada ferramenta, foram considerados sua usabilidade, facilidade de entendimento da saída apresentada, limitações de uso e acurácia. Dentre as técnicas estudadas, o FastTrack apresentou falsos positivos em seus resultados, mas obteve resultados acurados em programas que utilizam a primitiva de sincronização synchronized. O Atomizer apresentou falsos negativos, porém, tem o diferencial de explorar o problema de violação de atomicidade, que é pouco abordado por outras ferramentas. Já o RVPredict obteve resultados acurados, mas não é compatível com programas que possuem muitos laços, ou ramificações. Assim, é recomendado um uso complementar destas ferramentas, avaliando as necessidades do programa a ser testado.pt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.departmentInstituto de Computaçãopt_BR
dc.publisher.initialsUFRJpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOpt_BR
dc.embargo.termsabertopt_BR
Appears in Collections:Ciência da Computação

Files in This Item:
File Description SizeFormat 
MMPFernandes.pdf862.52 kBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.