Utilize este identificador para referenciar este registo: http://hdl.handle.net/10071/32252
Autoria: Caniço, Afonso Manuel Barral
Orientação: Santos, André Leal
Data: 30-Jul-2024
Título próprio: White-box assessment for programming education
Referência bibliográfica: Caniço, A. M. B. (ano). White-box assessment for programming education [Dissertação de mestrado, Iscte - Instituto Universitário de Lisboa]. Repositório Iscte. http://hdl.handle.net/10071/32252
Palavras-chave: Programming education
White-box testing
Programming assessment
Feedback
Educação de programação
Testes de white-box
Avaliação de programação
Resumo: Software testing is mostly performed in a black-box manner, that is, without incorporating any knowledge of the internal workings of programs into the tests. This practice usually suffices for enterprises and general practitioners, where the focus lies on producing reliable results while most algorithmic tasks are provided by third-party libraries. However, for computer science students and the like, it might not be straightforward to discern the underlying causes of an incorrect test result or to understand why certain algorithmic goals are not met. This dissertation presents Witter, a software testing library that allows programming instructors to define white-box tests for Java source code. Our tests analyse the execution of a method against a reference solution, to verify that the code not only produces correct results but is also in accordance with a desired algorithm behaviour. We detail the motivation for the development of the library and describe its development process in accordance with our research goals. We evaluate Witter’s efficacy in evaluating student submissions for an introductory university programming course to determine if an assessment tool based on code execution events could offer additional insight regarding incomplete algorithmic behaviour requirements, even when the student’s code produces correct outputs. The results support our hypothesis, and we conclude that a considerable amount of students make mistakes related to the algorithmic behaviour of their implemented solutions, and could thus benefit from an assessment tool providing them with information regarding their program’s execution.
A testagem de software é maioritariamente realizada em modo de black-box, isto é, sem incorporar nos testes qualquer conhecimento relativo ao funcionamento interno de um programa. Esta prática é usualmente suficiente em contexto empresarial ou para desenvolvedores no geral, onde o foco é a produção de resultados fiáveis em que a maioria das tarefas algorítmicas são realizadas por bibliotecas externas. Contudo, para estudantes de programação a um nível introdutório ou similares, pode não ser direto discernir as causas subjacentes de um resultado incorreto num teste ou compreender o incumprimento de certos objetivos no que toca ao funcionamento algorítmico. Esta dissertação apresenta o Witter, uma biblioteca de testagem de software que permite a educadores de programação definir testes white-box para código fonte Java. Os testes analisam a execução e um método contra uma solução de referência, para verificar que não só produz resultados corretos mas também que cumpre o comportamento algorítmico desejado. É detalhada a motivação para o desenvolvimento da biblioteca e descrito esse processo de acordo com os nossos objetivos de investigação. Avaliamos a eficácia do Witter em avaliar submissões de estudantes para determinar se uma ferramenta de avaliação baseada em eventos na execução do código poderia oferecer informação adicional relativamente a requisitos de comportamento algorítmico incompletos, mesmo quando o código do estudante produz os resultados esperados. Concluímos que uma quantidade considerável de estudantes cometem erros relativos ao comportamento algorítmico das suas implementações, podendo então beneficiar de uma ferramenta de avaliação que fornecesse informação relativa à execução dos seus programas.
Designação do Departamento: Departamento de Ciências e Tecnologias da Informação
Designação do grau: Mestrado em Engenharia Informática
Arbitragem científica: yes
Acesso: Acesso Aberto
Aparece nas coleções:T&D-DM - Dissertações de mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
master_afonso_barral_canico.pdf1,14 MBAdobe PDFVer/Abrir


FacebookTwitterDeliciousLinkedInDiggGoogle BookmarksMySpaceOrkut
Formato BibTex mendeley Endnote Logotipo do DeGóis Logotipo do Orcid 

Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.