Dissertação

New Language for Program Test Generation EVALUATED

Estudantes de Ciência da Computação lidam com projetos interessantes em cadeiras de algoritmos, que são uma boa amostra de alguns dos problemas que podem ter que lidar quando estiverem a trabalhar numa empresa no futuro. Para cada projeto, os professores precisam de gastar tempo a criar um pequeno conjunto de testes feitos à mão que serão capazes de testar efetivamente muitas situações diferentes. Estes testes são depois inseridos em ferramentas de teste automático para avaliar os programas dos alunos. Esta medida acaba por ser não só muito consumidora de tempo mas também é carente de riqueza de avaliação visto que está longe de ser um processo exaustivo. Esta dissertação propõe a implementação de um sistema de avaliação alternativo capaz de receber uma especificação de um projeto e automaticamente gerar conjuntos de teste de acordo com as preferências do professor. Este sistema requere especificações sobre o formato de uma nova linguagem, chamada REX, cujo propósito é de formatar uma descrição de um projeto num conjunto de regras prontas a ser utilizadas por um gerador. Depois o gerador vai usar essa informação para gerar casos de teste na avaliação das implementações dos alunos. Os resultados da avaliação experimental demonstram que o sistema é capaz de gerar testes úteis e é capaz de descobrir erros nos programas dos alunos que os testes feitos à mão eram incapaz de o fazer, tudo sem requerer o uso de muitos recursos.
Criação de Linguagem, Especificação de Input, Geração de Teste, Testar

novembro 14, 2019, 14:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Mikolas Janota

Departamento de Engenharia Informática (DEI)

Professor Auxiliar

ORIENTADOR

Vasco Miguel Gomes Nunes Manquinho

Departamento de Engenharia Informática (DEI)

Professor Associado