Siddhartha Prasad
I am a programming languages researcher interested in the human aspects of programming and formal reasoning. I study not only 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 research is 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.
Education
Brown University
Providence, RI Jan 2022 – presentPh.D. in Computer Science
Advisor: Shriram Krishnamurthi
Tufts University
Medford, MA May 2016B.S. in Computer Science and Mathematics
Advisor: Kathleen Fisher Summa cum Laude; High Thesis Honors
Employment
Apple
Seattle, WAResearch Intern Human-Centered Machine Learning
May – Sep 2023- Designed a formal-methods-inspired technique that prompts an LLM to evaluate candidate outputs against task-specific quality criteria and iteratively refine them without fine-tuning.
- Applied the technique in ContextQ, a system that generates questions to support parent-child dialogue during shared reading.
Microsoft
Redmond, WASoftware Engineer II Applied AI
Apr 2018 – Sep 2021- Built the container platform for Azure Cognitive Services, enabling customers with sensitive data to run AI workloads on-premises, at the edge, or in fully disconnected environments.
- Designed a deployment framework that allowed the same Docker containers to run across Azure-hosted and customer-managed environments, abstracting differences in CPU architecture, connectivity, API-key validation, logging, and storage.
- Operated production infrastructure for the cloud service, including on-call responsibility.
Software Engineer Developer Ecosystem Platform
Aug 2016 – Mar 2018- Designed and shipped XAML input APIs across Windows 10, Windows Phone, and Xbox, giving developers a consistent model for keyboard, gamepad, and ink interaction.
- Built accessibility and navigation features, including XAML access keys, so applications could expose commands and behave consistently across keyboard and gamepad input.
Software Engineering Intern Developer Ecosystem Platform
May – Aug 2015INRIA
Saclay, FranceResearch Intern Parsifal
Jun – Jul 2014- Researched correctness certificates for first-order term-rewriting systems.
Publications
-
Diagramming Program Values by Spatial Refinement, PLDI 2026
-
Meaningful Human-in-the-Loop Checking of GenAI Synthesis for Restricted Languages, ECOOP 2026
-
hS: Speculative Script Reordering at Subprocess Granularity, OSDI 2026
-
A Misconception-Driven Adaptive Tutor for Linear Temporal Logic, CAV 2025
[Distinguished Paper]
-
Lightweight Diagramming for Lightweight Formal Methods: A Grounded Language Design, ECOOP 2025
[Distinguished Paper; Distinguished Artifact]
-
Misconceptions in Finite-Trace and Infinite-Trace Linear Temporal Logic, FM 2024
-
ContextQ: Generated Questions to Support Meaningful Parent-Child Dialogue While Co-Reading, IDC 2024
-
Forge: A Tool and Language for Teaching Formal Methods, OOPSLA 2024
-
Conceptual Mutation Testing for Student Programming Misconceptions, ‹Programming› 2024
-
Generating Programs Trivially: Student Use of Large Language Models, CompEd 2023
-
Making Hay from Wheats: A Classsourcing Method to Identify Misconceptions, Koli Calling 2022
-
Large-Scale Intelligent Microservices, IEEE BigData 2020
Teaching
Teaching Assistant, Brown University
Logic for Systems
2022–2026Programming Languages
2025Teaching Assistant, Tufts University
Programming Languages
2015–2016Algorithms
2014