Geração automática de programas concorrentes dirigida por agentes inteligentes baseados em aprendizado por reforço
Autor:
Pereira, Luiz Maurício do Valle
Resumo:
Este trabalho aborda o desenvolvimento de agentes inteligentes baseados no paradigma de Aprendizado por Reforço (Reinforcement Learning) para a geração automática de programas concorrentes, visando uma aplicação específica: a verificação funcional do projeto de um multicore chip. O objetivo é verificar se a interação entre os núcleos (cores) está de acordo com o comportamento esperado. Por isso, os programas gerados deverão ser capazes de cobrir todos os comportamentos especificados em um plano de verificação. Durante a execução de um programa em uma simulação do multicore chip, um verificador dinâmico (runtime checker) afere se cada comportamento observado é compatível com um dos comportamentos esperados e, em caso contrário, sinaliza imediatamente um erro de projeto. Por isso, cada agente deve ser desenvolvido para dirigir a geração de programas concorrentes de forma a maximizar a cobertura de comportamentos esperados e a minimizar o tempo para se encontrar eventuais erros de projeto. Cada agente inteligente foi construído através da modificação de um dos módulos do gerador automático de programas. Diferentes agentes foram desenvolvidos variando-se os hiperparâmetros da rede neural e a longevidade histórica da interação agente-ambiente usada para aproximar a noção de estado. O desempenho relativo dos agentes desenvolvidos foi avaliado através da comparação de distribuições da cobertura acumulada máxima atingida e constelações de pontos (cobertura, tempo) indicando a descoberta de erros. Além disso, o desempenho dos geradores construídos com esses agentes foi comparado com o desempenho de um gerador baseado em Programação Genética, o qual foi desenvolvido por terceiros.
Descrição:
Seminário de Iniciação Científica e Tecnológica.
Universidade Federal de Santa Catarina.
Centro Técnológico.
Departamento de Informática e Estatística.