Please use this identifier to cite or link to this item:
http://hdl.handle.net/11422/15840
Type: | Trabalho de conclusão de graduação |
Title: | Análise de ferramentas de teste no contexto de aprendizado de programação concorrente |
Author(s)/Inventor(s): | Fernandes, Mayara Martins Poim |
Advisor: | Rossetto, Silvana |
Abstract: | Programas 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. |
Keywords: | Concorrência Testes Corridas de dados Deadlock |
Subject CNPq: | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
Production unit: | Instituto de Computação |
Publisher: | Universidade Federal do Rio de Janeiro |
Issue Date: | 10-Dec-2021 |
Publisher country: | Brasil |
Language: | por |
Right access: | Acesso Aberto |
Appears in Collections: | Ciência da Computação |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
MMPFernandes.pdf | 862.52 kB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.