Caleb Stanford

Me in 2021

I’m beyond excited to be joining the University of California, Davis as an assistant professor of computer science starting in Fall 2023! If you’re interested in doing computer science research, or you just want to chat, send me an email! You can apply to the PhD program at UC Davis here.

I graduated in July 2022 with my PhD in computer science from the University of Pennsylvania, where I was advised by Rajeev Alur. Before that, I got my ScB from Brown University in math and computer science in 2016.

During 2022-2023, I’ll be taking a gap year working with Deian Stefan and the ProgSys group at UCSD.

You can view my CV online or as a pdf.


Research areas

My research is in programming languages and systems. Generally, I am interested in any problem space where I think mathematical abstractions will lead to practical impact in the safety, correctness, expressiveness, usability, or security of systems. Some of my past and ongoing projects include:



*equal contribution authors in alphabetical order

  1. FP4: Line-Rate Greybox Fuzz Testing for P4 Switches. Nofel Yaseen, Liangcheng Yu, Caleb Stanford, Ryan Beckett, and Vincent Liu. In submission.

  2. A Robust Theory of Series-Parallel Graphs. Rajeev Alur, Caleb Stanford, and Christopher Watson. In submission.

  3. Guided Incremental Dead State Detection. Caleb Stanford and Margus Veanes. In submission.

  4. Stream Processing with Dependency-Guided Synchronization. Konstantinos Kallas,* Filip Niksic,* Caleb Stanford,* and Rajeev Alur, Principles and Practice of Parallel Programming (PPoPP), February 2022. Extended version; 2-Minute Elevator Pitch (September 2019); Poster (October 2019)

  5. Correctness in Stream Processing: Challenges and Opportunities. Caleb Stanford, Konstantinos Kallas, and Rajeev Alur, Conference on Innovative Data Systems Research (CIDR), January 2022. Slides; Video

  6. Symbolic Boolean Derivatives for Efficiently Solving Extended Regular Expression Constraints. Caleb Stanford, Margus Veanes, and Nikolaj Bjørner, Programming Language Design and Implementation (PLDI), June 2021. Slides; Talk (lightning and full)

  7. Synchronization Schemas. Rajeev Alur, Phillip Hilliard, Zachary Ives, Konstantinos Kallas, Konstantinos Mamouras, Filip Niksic, Caleb Stanford, Val Tannen, and Anton Xue, Invited Contribution to Principles of Database Systems (PODS), June 2021. Invited paper.

  8. DiffStream: Differential Output Testing for Stream Processing Programs. Konstantinos Kallas,* Filip Niksic,* Caleb Stanford,* and Rajeev Alur, Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), November 2020. Slides; Video

  9. Streamable Regular Transductions. Rajeev Alur, Dana Fisman, Konstantinos Mamouras, Mukund Raghothaman, and Caleb Stanford, Theoretical Computer Science (TCS), February 2020.

  10. Data-Trace Types for Distributed Stream Processing Systems. Konstantinos Mamouras, Caleb Stanford, Rajeev Alur, Zachary Ives, and Val Tannen, Programming Language Design and Implementation (PLDI), June 2019. Video Abstract

  11. Modular Quantitative Monitoring. Rajeev Alur, Konstantinos Mamouras, and Caleb Stanford, Principles of Programming Languages (POPL), January 2019. Slides; Video

  12. Interfaces for Stream Processing Systems. Rajeev Alur, Konstantinos Mamouras, Caleb Stanford, and Val Tannen, Principles of Modeling: Festschrift Symposium in honor of Edward A. Lee, October 2017. Invited paper.

  13. Automata-Based Stream Processing. Rajeev Alur, Konstantinos Mamouras, and Caleb Stanford, International Colloquium on Automata, Languages, and Programming (ICALP), July 2017. Slides



CIS 198: Rust Programming (spring 2021)

I was the instructor for CIS198: Rust Programming at UPenn, an undergraduate introduction to Rust. The course lecture notes are publicly available.

Caleb Stanford Twitter

Caleb Stanford GitHub

Caleb Stanford Google Scholar

Caleb Stanford DBLP

Caleb Stanford ORCID

Caleb Stanford Wikipedia

Penn PL Club.

Archived material


castan at cis upenn edu