Testception

Testception is a tool that generates interactive exercises for teaching software testing to introductory students. Students submit test cases to the system, which uses a large corpus of buggy programs to evaluate these test cases. Students then receive automatic feedback in the form of of buggy programs that their tests failed to catch, enabling them to reason about the deficiencies in their test suite. Testception is described in detail in our paper, and you can find its source code at https://github.com/rice-cs-edutools/testception.


MemStep

MemStep is a web-based tool designed to teach students about the run-time layout of memory in Java. It guides students through the process of simulating the execution of Java programs by requiring them to specify the memory operations that are performed on each line of code. This original version of MemStep is described in detail in our paper. You can access the free version of MemStep at https://tools.owltest.org/memstep.


MemStep-GC

MemStep-GC is an extended version of MemStep that includes support for teaching garbage collection. Specifically, it can be configured to assume that one of three garbage collections is being used during the execution of the program: reference counting, mark-sweep, or mark-compact. MemStep-GC is described in detail in our paper. You can access the free version of MemStep-GC at https://tools.owltest.org/memstep-gc.