White-box assessment for programming education
Main Author: | |
---|---|
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 |