Automated Student Code Assessment with Symbolic Execution and Java PathFinder

The assessment of student code is a necessary part of most programming courses. However, many ways of assessing the correctness of student code can be very time-consuming and may be error-prone. This paper presents JSymTester, a tool which uses the symbolic execution framework of the Java PathFinder...

Full description

Bibliographic Details
Main Author: Bell, Karl
Format: Others
Published: DigitalCommons@CalPoly 2012
Online Access:https://digitalcommons.calpoly.edu/theses/891
https://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1942&context=theses
id ndltd-CALPOLY-oai-digitalcommons.calpoly.edu-theses-1942
record_format oai_dc
spelling ndltd-CALPOLY-oai-digitalcommons.calpoly.edu-theses-19422021-08-31T05:01:52Z Automated Student Code Assessment with Symbolic Execution and Java PathFinder Bell, Karl The assessment of student code is a necessary part of most programming courses. However, many ways of assessing the correctness of student code can be very time-consuming and may be error-prone. This paper presents JSymTester, a tool which uses the symbolic execution framework of the Java PathFinder to find test inputs for student code and uses these inputs to extensively compare its functionality to a reference implementation. This allows for automatic testing of student code, relying only on the reference implementation and the student's own implementation, eliminating the need to manually write tests. This tool was tested on small assignments for an introductory computer science course, and performed similarly to the existing, more traditional approaches of unit testing and output comparison. This shows that automated test generation techniques may, in general, be useful in the area of student code assessment. 2012-12-01T08:00:00Z text application/pdf https://digitalcommons.calpoly.edu/theses/891 https://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1942&context=theses Master's Theses DigitalCommons@CalPoly
collection NDLTD
format Others
sources NDLTD
description The assessment of student code is a necessary part of most programming courses. However, many ways of assessing the correctness of student code can be very time-consuming and may be error-prone. This paper presents JSymTester, a tool which uses the symbolic execution framework of the Java PathFinder to find test inputs for student code and uses these inputs to extensively compare its functionality to a reference implementation. This allows for automatic testing of student code, relying only on the reference implementation and the student's own implementation, eliminating the need to manually write tests. This tool was tested on small assignments for an introductory computer science course, and performed similarly to the existing, more traditional approaches of unit testing and output comparison. This shows that automated test generation techniques may, in general, be useful in the area of student code assessment.
author Bell, Karl
spellingShingle Bell, Karl
Automated Student Code Assessment with Symbolic Execution and Java PathFinder
author_facet Bell, Karl
author_sort Bell, Karl
title Automated Student Code Assessment with Symbolic Execution and Java PathFinder
title_short Automated Student Code Assessment with Symbolic Execution and Java PathFinder
title_full Automated Student Code Assessment with Symbolic Execution and Java PathFinder
title_fullStr Automated Student Code Assessment with Symbolic Execution and Java PathFinder
title_full_unstemmed Automated Student Code Assessment with Symbolic Execution and Java PathFinder
title_sort automated student code assessment with symbolic execution and java pathfinder
publisher DigitalCommons@CalPoly
publishDate 2012
url https://digitalcommons.calpoly.edu/theses/891
https://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1942&context=theses
work_keys_str_mv AT bellkarl automatedstudentcodeassessmentwithsymbolicexecutionandjavapathfinder
_version_ 1719472936652374016