SPLASH 2023
Sun 22 - Fri 27 October 2023 Cascais, Portugal
Sun 22 Oct 2023 14:00 - 14:30 at Room VI - Interactivity and Visualization for Programmers Chair(s): Jonathan Aldrich

Rust uses traits to define units of shared behavior. Trait constraints build up an implicit set of first-order hereditary Harrop clauses which is executed by a powerful logic programming engine in the trait system. But that power comes at a cost: the number of traits in Rust libraries is increasing, which puts a growing burden on the trait system to help programmers diagnose errors. Beyond a certain size of trait constraints, compiler diagnostics fall off the edge of a complexity cliff, leading to useless error messages. Crate maintainers have created ad-hoc solutions to diagnose common domain-specific errors, but the problem of diagnosing trait errors in general is still open. We propose a trait debugger as a means of getting developers the information necessary to diagnose trait errors in any domain and at any scale. Our proposed tool will extract proof trees from the trait solver, and it will interactively visualize these proof trees to facilitate debugging of trait errors.

Sun 22 Oct

Displayed time zone: Lisbon change

14:00 - 15:30
Interactivity and Visualization for ProgrammersHATRA at Room VI
Chair(s): Jonathan Aldrich Carnegie Mellon University
14:00
30m
Talk
Debugging Trait Errors as Logic Programs
HATRA
Gavin Gray ETH Zurich, Will Crichton Brown University
Link to publication
14:30
30m
Talk
Totally Live Programming with Hazel (Progress Report)
HATRA
Cyrus Omar University of Michigan, Andrew Blinn University of Michigan, David Moon University of Michigan
Link to publication
15:00
30m
Talk
REVIS: An Error Visualization Tool for RustRemote
HATRA
Ruochen Wang University of California, San Diego, Molly MacLaren University of California, San Diego, Michael Coblenz University of California, San Diego
Link to publication