Tesis
Geração de testes de memória compartilhada coerente: uma avaliação de cobertura e eficácia
Autor
Graf, Marleson
Institución
Resumen
TCC(graduação) - Universidade Federal de Santa Catarina. Centro Tecnológico. Ciências da Computação. Multiprocessadores em chip (CMP) vêm sendo desafiados pela crescente complexidade de seus subsistemas de memória compartilhada. Regras de consistência e requisitos de coerência especificados por um modelo de memória devem ser atendidos pelo hardware para que o funcionamento da memória ocorra como esperado pelo programador. O uso de regras de consistência relaxadas - para abrir espaço a novas otimizações - e o crescente número de núcleos - o que aumenta a complexidade dos protocolos de coerência - torna o projeto do subsistema de memória suscetível a erros. Para evitar que esses erros se propaguem até a fase de prototipação, aplicam-se técnicas de verificação sobre uma versão executável do projeto (por meio de simulações). Essas técnicas dependem da execução de programas de teste sobre a plataforma verificada, a fim de estimular o sistema e expor quaisquer erros que possam existir no projeto. Nesse trabalho é proposta uma métrica de cobertura para avaliar os programas de testes gerados por diferentes técnicas, e assim descobrir quais propriedades e características dos geradores têm mais impacto na capacidade de exposição de erros. Com essas informações espera-se fomentar as bases de um futuro gerador adaptativo de testes. Complementarmente, foram desenvolvidos novos erros de coerência, a partir dos quais criaram-se representações de projeto para avaliar o esforço e eficácia dos testes gerados pelas diferentes técnicas. Para a representação dos projetos, foi utilizado um simulador de domínio público (gem5). Ao todo, foram executados 14400 programas de teste para a avaliação de cobertura e 86400 casos de uso para a avaliação de esforço e eficácia (6 erros x 14400 programas de teste), em arquiteturas de 8, 16 e 32 núcleos. Os resultados mostram que a combinação de duas diferentes técnicas de geração de testes leva aos melhores valores de cobertura e alcança os melhores resultados de esforço e eficácia na maiorias dos cenários de verificação.