Siddhartha Prasad

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.

I am interested not only in how PL and FM techniques can solve problems programmers face, but also how programmers’ experiences can inform the design of our languages, logics, and software tools. My work includes using formal techniques to support informal program inspection, understanding people’s misconceptions of formal models, and specification elucidation through examples and interaction.

Previously, I was a software engineer at Microsoft, where I worked both on Windows1 and Azure2. 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.

📣 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. I worked on the XAML UI Framework from 2016-2018. 

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