Programming students who encounter performance bugs often struggle to fix them and sometimes resort to less-than-ideal debugging methods such as random guess-and-check or asking GenAI to give them the answer. This three-phase dissertation aims to help students understand, find, and fix performance bugs more effectively.
The first phase studied the problem, developing a taxonomy of common performance bugs consisting of 3 categories and 12 sub-categories through qualitative analysis of 250 slow student submissions. The second phase devised an intervention, a novice-friendly Python profiler called Hypothesis Profiler (HyProf), deployed it in a 400-student Python course, and evaluated it through web logs, office hours observations, and surveys. The third and current phase is evolving and evaluating the intervention, by using machine-learning techniques to automatically create function-specific performance bug labels in HyProf reports for slow submissions, similar to how exceptions label the type and source of runtime errors.
Program Display Configuration
Wed 18 Feb
Displayed time zone: Central Time (US & Canada)change