Online CV
Email: cdstanford • ucdavis • edu
Website: web.cs.ucdavis.edu/~cdstanford
Primary Research Areas: Programming Languages, Systems, Logic
Education
-
University of Pennsylvania
PhD, computer science, August 2022. Advisor: Rajeev Alur.
-
Brown University
ScB, mathematics and computer science, 2016. Capstone Advisor: Tim Nelson.
Employment
-
UC Davis
Assistant professor, computer science, starting July 2023.
-
UC San Diego
Postdoctoral researcher, 2022–2023. Advisor: Deian Stefan.
-
Microsoft, Research in Software Engineering Group (RiSE).
Research intern, Summer 2020. Advisors: Margus Veanes and Nikolaj Bjørner.
-
Amazon Web Services, Automated Reasoning Group (ARG).
Research intern, Summer 2019. Primary Advisor: Pauline Bolignano.
Publications
*equal contribution †authors in alphabetical order
-
Incremental Dead State Detection in Logarithmic Time. Caleb Stanford and Margus Veanes. Under review.
-
FP4: Line-Rate Greybox Fuzz Testing for P4 Switches. Nofel Yaseen, Liangcheng Yu, Caleb Stanford, Ryan Beckett, and Vincent Liu. Under review.
-
A Robust Theory of Series-Parallel Graphs.† Rajeev Alur, Caleb Stanford, and Christopher Watson. Principles of Programming Languages (POPL), January 2023.
-
Stream Processing with Dependency-Guided Synchronization. Konstantinos Kallas,* Filip Niksic,* Caleb Stanford,* and Rajeev Alur. Principles and Practice of Parallel Programming (PPoPP), February 2022.
-
Correctness in Stream Processing: Challenges and Opportunities. Caleb Stanford, Konstantinos Kallas, and Rajeev Alur. Conference on Innovative Data Systems Research (CIDR), January 2022.
-
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.
-
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.
-
Streamable Regular Transductions.† Rajeev Alur, Dana Fisman, Konstantinos Mamouras, Mukund Raghothaman, and Caleb Stanford. Theoretical Computer Science (TCS), February 2020.
-
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.
-
Modular Quantitative Monitoring.† Rajeev Alur, Konstantinos Mamouras, and Caleb Stanford. Principles of Programming Languages (POPL), January 2019.
-
Automata-Based Stream Processing.† Rajeev Alur, Konstantinos Mamouras, and Caleb Stanford. International Colloquium on Automata, Languages, and Programming (ICALP), July 2017.
Other Contributions
*equal contribution †authors in alphabetical order
-
Safe Programming over Distributed Streams. Caleb Stanford. PhD Dissertation, July 2022.
-
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.
-
Mathematical Muffin Morsels: Nobody Wants A Small Piece. William Gasarch, Erik Metz, Jacob Prinz, and Daniel Smolyak. Book contribution, World Scientific, 2020.
-
Interfaces for Stream Processing Systems.† Rajeev Alur, Konstantinos Mamouras, Caleb Stanford, and Val Tannen. Invited contribution to Principles of Modeling: Festschrift Symposium in honor of Edward A. Lee, October 2017.
-
Context-Directed Reversals of Signed Permutations.† Hannah Li, Jack Ramsey, Marion Scheepers, Haley Schilling, and Caleb Stanford. Outstanding presentation award for poster at the Joint Math Meetings (JMM), January 2016.
Open-Source Software
-
Cargo Scan: a tool to scan and analyze Rust dependencies for security and auditing purposes.
-
Guided incremental digraphs: a data structure for incrementally tracking live and dead states for SMT applications.
-
pystate: a call-sensitive state tracker for Python objects based on CRC-32, intended for use in fuzzing.
-
FP4: a hardware fuzzer for P4 switches which uses pystate.
-
dZ3: a new constraint solver for regular expressions, now the default in Z3. (benchmarks; experimental scripts)
-
DiffStream: differential testing for Apache Flink programs.
-
Flumina: a programming model for stream processing with parallelizable synchronization primitives and predictable semantics.
-
Data transducers: a general-purpose intermediate representation for data stream monitoring with performance guarantees.
Leadership
-
Vice president, Computing Connections Fellowship. Spring 2022 – Present.
-
Student representative, Doctoral Advisory Board. UPenn School of Engineering, Fall 2021 – Spring 2022.
-
Co-chair, CIS Doctoral Association. Student association leader and PhD student-faculty representative, UPenn CIS, Fall 2018 – Fall 2021.
-
Co-founder and problem-writer for the Utah Math Olympiad, an annual high school mathematics contest. 2013 – present.
Selected Honor(s)
- Heidelberg Laureate Forum 2019: Recipients of the most prestigious awards in mathematics and computer science meet 200 young researchers from around the world. Selected to attend with funding (all except travel), September 22–27, 2019, Heidelberg, Germany.
Invited Talks
-
Session Preview: Logic & Decidability II. POPL, January 2023.
-
Trustworthy Programming for Online Data Processing. UMass Amherst, April 2022.
-
Trustworthy Programming for Online Data Processing. UC Riverside, March 2022.
-
Trustworthy Programming for Online Data Processing. Oregon State University, March 2022.
-
Trustworthy Programming for Online Data Processing. UC Davis, February 2022.
-
Trustworthy Programming for Online Data Processing. Georgia Tech, February 2022.
-
Trustworthy Systems for Online Data Processing. Portland State University, February 2022.
Teaching
-
Teaching Certificate from the Center for Teaching and Learning (CTL), UPenn. Completed Spring 2021.
- Instructor for Rust Programming (CIS 198), UPenn. Spring 2021.
Course Material,
Course Website
- Course evaluations (0=Poor, 1=Fair, 2=Good, 3=Very Good, 4=Excellent): Quality of instructor (3.2), quality of course (2.9), accessibility of instructor (3.0), ability to stimulate interest (3.0), amount learned (3.1).
-
TA: Graduate Theory of Computation (CIS 511, UPenn, 2018); Graduate Software Foundations (CIS 500, UPenn, 2017); various courses (Art of Problem Solving, 2016); Discrete Structures and Probability (CS 22, Brown, 2016); Models of Computation (CS 51, Brown, 2015); Real Analysis (Math 101, Brown, 2015); Functional Analysis (Math 127, Brown, 2014).
- Other instruction and tutoring: LaTeX workshops (Brown Science Center, 2014 – 2016); Math Resource Center (Brown, 2014 – 2015); Calculus Recitation Sessions (Math 90, Brown, 2014); MathPath Courses (2013 – 2014); BYU Math Circle (2012 – 2013).
Students Mentored
- Nicholas Pilotti (Spring 2022). Completeness of Theories of Arithmetic in Lean. Undergraduate thesis at UPenn (co-mentored with Li-yao Xia with Rajeev Alur as the official faculty advisor).
Service
-
Review committee, PLDI Student Research Competition, 2023.
-
Reviewer, ESOP 2023.
-
Program committee, SPLASH Student Research Competition, 2022.
-
Reviewer, Transactions on Cyber-Physical Systems (TCPS), 2021.
-
Reviewer, Mathematical Foundations of Computer Science (MFCS), 2021.
-
Reviewer, CAV 2021.
-
Artifact evaluation committee, POPL 2021.
-
Artifact evaluation committee, CAV 2019.
-
Reviewer, Conference on Concurrency Theory (CONCUR), 2018.
Outreach
-
Judge for the ENVISION research competition by WiSTEM. Spring 2022.
-
Instructor for AP Computer Science, Steppingstone Scholars high school outreach program. Fall 2021.
-
Volunteer, SIGPLAN-M Mentoring Program, 2021 – 2022.
-
Volunteer, UPenn Applicant-Support Program (for under-served or under-represented communities in the admissions process), Fall 2020.
Languages
-
Expert: Rust, Python, C++
-
Fluent: Coq, Java, C, Alloy
-
Comfortable: Erlang, OCaml, MATLAB, x86 Assembly
-
Tools: Git, LaTeX
Miscellaneous
-
Putnam math exam: National rank 163.5 (2015), 150 (2014), 136 (2013), and 319 (2012) out of 4000+ participants. Scores of 30, 40, 40, and 30, respectively.
-
Mathematics Graduate Record Exam (subject GRE): Score 900 (97th percentile) in Fall 2015.
-
ACM International Collegiate Programming Contest (ICPC): 3rd place team at qualifier round (fall 2014, Fall 2015), 5th place team at regionals (Fall 2015).