Blogs (9) >>
Sun 30 October - Fri 4 November 2016 Amsterdam, Netherlands

This paper presents Apex, a system that can automatically
generate explanations for programming assignment bugs,
regarding where the bugs are and how the root causes led to the
runtime failures. It works by comparing the passing execution
of a correct implementation (provided by the instructor) and
the failing execution of the buggy implementation (submitted
by the student). The technique overcomes a number of
technical challenges caused by syntactic and semantic differences
of the two implementations. It collects the symbolic traces of
the executions and matches assignment statements in the two
execution traces by reasoning about symbolic equivalence.
It then matches predicates by aligning the control
dependences of the matched assignment statements, avoiding direct
matching of path conditions which are usually quite different.
Our evaluation shows that Apex is every effective for 205
buggy real world student submissions of 4 programming
assignments, and a set of 15 programming assignment type of
buggy programs collected from,
precisely pinpointing the root causes and capturing the causality
for 94.5% of them. The evaluation on a standard benchmark
set with over 700 student bugs shows similar results. A user
study in the classroom shows that Apex has substantially
improved student productivity.

Wed 2 Nov
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

15:40 - 17:20: Programming Frameworks, Tools, and MethodologiesOOPSLA at Matterhorn 2
Chair(s): Emerson Murphy-HillGoogle
15:40 - 16:05
Purposes, Concepts, Misfits, and a Redesign of GitAEC
DOI Pre-print Media Attached
16:05 - 16:30
Apex: Automatic Programming Assignment Error Explanation
Dohyeong KimPurdue University, Yonghwi KwonPurdue University, Peng LiuPurdue University, I Luk KimPurdue University, David Mitchel PerryPurdue University, Xiangyu ZhangPurdue University, Gustavo Rodriguez-RiveraPurdue University
DOI Media Attached
16:30 - 16:55
Asserting Reliable Convergence for Configuration Management ScriptsDistinguished Paper Award
Oliver HanappiVienna University of Technology, Waldemar HummerVienna University of Technology, Schahram DustdarTU Wien
16:55 - 17:20
Dependent Partitioning
Sean TreichlerStanford University, Michael BauerNVIDIA Research, Rahul SharmaMicrosoft Research, Elliott Slaughter, Alex AikenStanford University
DOI Media Attached