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...
Main Author: | |
---|---|
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 |