Trabalho de Graduação apresentado em Novembro de 2022.
Compreensão de código é a atividade na qual engenheiros de software buscam o entendimento do comportamento de um sistema de software utilizando seu codígo fonte como referência primária.[Hermans, 21] estima que metade do tempo de desenvolvimento de um programa é dedicado a ler, portanto, é importante que essa atividade seja feita da maneira mais eficiente possível. Estudantes e profissionais da área devem receber treinamento na leitura eficiente de código, mas não há plataformas eficientes para isso. Desenvolvedores frequentemente utilizam sistemas de árbitro online para aprimoramento de habilidades de programação, mas as ferramentas existentes no mercado só dão apoio à construção de programas e não à leitura de código. Não existe uma plataforma eficiente que permita a criação de testes onde o objetivo não é escrever um algoritmo, e sim avaliar o entendimento do usuário sobre um ou mais trechos de código. Estudos envolvendo compreensão de código ou precisam da implementação de um sistema para conduzir o teste, aumentando seu escopo e dificultando sua implementação, ou utilizam um sistema improvisado, que prejudica o andamento do experimento devido a falta de funcionalidades específicas. Este artigo mostra a criação do Mimir, um sistema de árbitro online para condução de testes de compreensão de código, implementado a partir de requisitos baseados em um conjunto de estudos da área. A fim de verificar seu funcionamento, foram conduzidos dois estudos de caso baseados em experimentos anteriores, [Gopstein, 2017] e [Langhout, 2021], com estudantes do Centro de Informática da Universidade Federal de Pernambuco, que mostraram a eficácia da plataforma em amparar estudos do tipo, seja para fins acadêmicos ou educacionais.