HCI Seminar - Siddhartha Prasad - Lightweight Diagramming by Spatial Specification
Siddhartha Prasad
Brown University
Add to Calendar
2026-01-13 16:00:00
2026-01-13 17:00:00
America/New_York
HCI Seminar - Siddhartha Prasad - Lightweight Diagramming by Spatial Specification
Abstract: Formal modeling tools such as Alloy enable users to incrementally define, explore, verify, and diagnose specifications for complex systems. A critical component of these tools is a visualizer that lets users graphically explore generated models. However, a default visualizer that knows nothing about the domain can be unhelpful and can even actively violate presentational and cognitive principles. At the other extreme, full-blown custom visualization requires significant effort as well as knowledge that a tool user might not possess. Custom visualizations can also exhibit bad (even silent) failures. The same needs and demands apply to programming languages, which are virtually never accompanied by data structure visualizers.We chart a middle ground between the extremes of default and fully-customizable visualization. We capture essential domain information for lightweight diagramming. To identify key elements of these diagrams, we ground the design in both cognitive science and in a corpus of custom visualizations. We distill from these sources a small set of orthogonal primitives, and use the primitives to guide a diagramming language.We show how to endow the diagramming language with a spatial semantics and prove that it enjoys key properties. We also show how it can be embedded into three very different languages: Python, Rust, and Pyret. We present a novel counterfactual debugging aid for diagramming errors, combining textual and visual output. We evaluate the language and system for expressiveness, performance, and diagnostic quality. We thus define a new point in the design space of diagramming: through a language that is lightweight, effective, and driven by cognitively sound principles.Bio:I am a PhD student in Computer Science at Brown University. My research takes a programming-languages approach to improving how people express intent and reason about program behavior, drawing on ideas from formal methods, human–computer interaction, and cognitive science. I am especially interested in how models of human cognition can inform the design of languages, semantics, and interactive tools for understanding complex computational structures.Previously, I was a software engineer at Microsoft, where I worked both on Windows and Azure. My research interests are informed by my time as an engineer. I have written code that doesn’t do what I want it to, and I want to spare everyone else the indignity.This talk will also be streamed over Zoom: https://mit.zoom.us/j/91952304653.
TBD