Siddhartha Prasad

Siddhartha Prasad on Whidbey Island, Washington, in 2021

I am a PhD student in Computer Science at Brown, advised by Shriram Krishnamurthi. I work in programming languages and formal methods, with a focus on the gap between what people mean and what computational systems do.

My time as a software engineer12 taught me that programming is not just the mechanical task of writing code; it is also the cognitive work of formalization and judgment. Whether you are a professional programmer or someone newly empowered by GenAI, you still have to decide what the system should do, evaluate tradeoffs, and determine whether the result is fit for purpose. Programming languages and formal methods researchers have spent decades relating specifications of behavior to program implementations, yet even experienced programmers use only a thin slice of that toolkit. Too many formal tools treat the specification as an input that has already been settled, rather than something programmers discover and revise through the process of building.

My work asks how programming languages and formal methods can support this cognitive work as it happens, rather than entering only after the hard decisions have already been made. My research agenda repurposes formal machinery traditionally aimed at automated analysis to support human understanding.

I have written code that doesn’t do what I want it to, and I want to spare everyone else the indignity.

📣 On the job market. I am seeking academic and research positions for 2027–28. Get in touch.

Current Projects

Making diagrams as cheap as printf.

Every time you inspect a value (at the REPL, in a debugger, in a print statement) you should have the option of seeing a diagram. Read the Spytial blog post →

Checking what GenAI wrote, meaningfully.

When an LLM generates a regex for you, how do you know it's the one you actually needed? Read the regex post → Or how it generalizes to more languages →

Understanding how humans understand Temporal Logic.

I think of human misconceptions as alternate semantics for the logic. Read about LTL and LTLf misconceptions → Try the LTL Tutor to see how we operationalize misconceptions →

Recent News

  1. At Microsoft, I worked on Windows’ XAML UI Framework from 2016-2018. 

  2. I then worked on Azure’s AI services, with a particular focus on containerizing AI, from 2018-2021.