Automating Testing of Visual Observed Concurrency
Education and Training and Outreach
HPC Training and Education
TimeSunday, 14 November 20212:15pm - 2:30pm CST
DescriptionExisting techniques for automating the testing of sequential programming assignments are fundamentally at odds with concurrent programming as they are oblivious to the algorithm used to implement the assignments. We have developed a framework that addresses this limitation for those object-based concurrent assignments whose user-interface (a) is implemented using the observer pattern and (b) makes apparent whether concurrency requirements are met. It has two components. The first component reduces the number of steps a human grader needs to take to interact with and score the user-interfaces of the submitted programs. The second component completely automates assessment by observing the events sent by the student-implemented observable objects. Both components are used to score the final submission. The second component is also used to provide feedback during assignment implementation. The framework is used extensively by students, leads to more partial credit, reduces grading time, and gives statistics about incremental student progress.