Export Ready — 

White-box assessment for programming education

Bibliographic Details
Main Author: Caniço, Afonso Manuel Barral
Publication Date: 2024
Format: Master thesis
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: http://hdl.handle.net/10071/32252
Summary: 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.
id RCAP_4d61f1bad7c0ce1221c0d25a7e5adb90
oai_identifier_str oai:repositorio.iscte-iul.pt:10071/32252
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling White-box assessment for programming educationProgramming educationWhite-box testingProgramming assessmentFeedbackEducação de programaçãoTestes de white-boxAvaliação de programaçãoSoftware 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.2024-08-30T13:47:34Z2024-07-30T00:00:00Z2024-07-302024-07info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10071/32252TID:203671031engCaniço, Afonso Manuel Barralinfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-03-02T01:19:25Zoai:repositorio.iscte-iul.pt:10071/32252Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T18:48:19.695741Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv White-box assessment for programming education
title White-box assessment for programming education
spellingShingle White-box assessment for programming education
Caniço, Afonso Manuel Barral
Programming education
White-box testing
Programming assessment
Feedback
Educação de programação
Testes de white-box
Avaliação de programação
title_short White-box assessment for programming education
title_full White-box assessment for programming education
title_fullStr White-box assessment for programming education
title_full_unstemmed White-box assessment for programming education
title_sort White-box assessment for programming education
author Caniço, Afonso Manuel Barral
author_facet Caniço, Afonso Manuel Barral
author_role author
dc.contributor.author.fl_str_mv Caniço, Afonso Manuel Barral
dc.subject.por.fl_str_mv Programming education
White-box testing
Programming assessment
Feedback
Educação de programação
Testes de white-box
Avaliação de programação
topic Programming education
White-box testing
Programming assessment
Feedback
Educação de programação
Testes de white-box
Avaliação de programação
description 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.
publishDate 2024
dc.date.none.fl_str_mv 2024-08-30T13:47:34Z
2024-07-30T00:00:00Z
2024-07-30
2024-07
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10071/32252
TID:203671031
url http://hdl.handle.net/10071/32252
identifier_str_mv TID:203671031
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833597677202309120