20 citations · 40 across the 7 of their papers we have counts for
9 papers
Automating Program Structure Classification
Will Crichton, Georgia Gabriela Sampaio, Pat Hanrahan
When students write programs, their program structure provides insight into their learning process. However, analyzing program structure by hand is time-consuming, and teachers nee…
The Role of Working Memory in Program Tracing
Will Crichton, Maneesh Agrawala, Pat Hanrahan
Program tracing, or mentally simulating a program on concrete inputs, is an important part of general program comprehension. Programs involve many kinds of virtual state that must…
Documentation Generation as Information Visualization
Will Crichton
Automatic documentation generation tools, or auto docs, are widely used to visualize information about APIs. However, each auto doc tool comes with its own unique representation of…
The Usability of Ownership
Will Crichton
Ownership is the concept of tracking aliases and mutations to data, useful for both memory safety and system design. The Rust programming language implements ownership via the borr…
Rekall: Specifying Video Events using Compositions of Spatiotemporal Labels
Daniel Y. Fu, Will Crichton, James Hong +7
Many real-world video analysis applications require the ability to identify domain-specific events in video, such as interviews and commercials in TV news broadcasts, or action seq…
Human-Centric Program Synthesis
Will Crichton
Program synthesis techniques offer significant new capabilities in searching for programs that satisfy high-level specifications. While synthesis has been thoroughly explored for i…