Federico Mora

federico@uwaterloo.ca | federico.morarocha.ca

Research

I study automated reasoning, programming language theory, and neuro-symbolic artificial intelligence.

Appointments

2026- Assistant Professor, University of Waterloo
2026- Faculty Affiliate, Vector Institute
2025-2026 Applied Scientist, Amazon Web Services

Education

2025

Ph.D. Computer Science, University of California, Berkeley

Advised by Sanjit A. Seshia

2018

M.Sc. Computer Science, University of Toronto

Advised by Marsha Chechik

2016

B.Sc. Math and Computer Science, Mount Allison University

First Class Honours with Distinction

Publications

This list contains refereed conference, journal, and workshop papers. For a full list of publications, see my Google Scholar profile. Student advisees are listed in bold.

AAAI '25 Online Prompt Selection for Program Synthesis
Yixuan Li, Lewis Frampton, Federico Mora, and Elizabeth Polgreen
NeurIPS '24 Synthetic Programming Elicitation for Text-to-Code in Very Low-Resource Programming and Formal Languages
Federico Mora, Justin Wong, Haley Lepe, Sahil Bhatia, Karim Elmaaroufi, George Varghese, Joseph Gonzalez, Elizabeth Polgreen, and Sanjit Seshia
AAAI '24 An Eager Satisfiability Modulo Theories Solver for Algebraic Datatypes
Amar Shah, Federico Mora, and Sanjit Seshia
TCS '23 Towards more efficient methods for solving regular-expression heavy string constraints
Murphy Berzish, Joel Day, Vijay Ganesh, Mitja Kulczynski, Florin Manea, Federico Mora, and Dirk Nowotka
SYNT '23 Genetic Algorithms for Searching a Matrix of Metagrammars for Synthesis
Yixuan Li, Federico Mora, Elizabeth Polgreen, and Sanjit Seshia
OOPSLA '23 Message Chains for Distributed System Verification
Federico Mora, Ankush Desai, Elizabeth Polgreen, and Sanjit Seshia
CAV '22 UCLID5: Multi-Modal Formal Modeling, Verification, and Synthesis
Elizabeth Polgreen, Kevin Cheang, Pranav Gaddamadugu, Adwait Godbole, Kevin Laeufer, Shaokai Lin, Yatin Manerkar, Federico Mora, and Sanjit Seshia
WORDS '21 String Theories involving Regular Membership Predicates: From Practice to Theory and Back
Murphy Berzish, Joel Day, Vijay Ganesh, Mitja Kulczynski, Florin Manea, Federico Mora, and Dirk Nowotka
SAT '21 MedleySolver: Online SMT Algorithm Selection
Nikhil Pimpalkhare, Federico Mora, Elizabeth Polgreen, and Sanjit Seshia
FM '21 Z3str4: A Multi-armed String Solver
Federico Mora, Murphy Berzish, Mitja Kulczynski, Dirk Nowotka, and Vijay Ganesh
FM '21 BanditFuzz: Fuzzing SMT Solvers with Multi-Agent Reinforcement Learning
Joseph Scott, Trishal Sudula, Hammad Rehman, Federico Mora, and Vijay Ganesh
CAV '21 An SMT Solver for Regular Expressions and Linear Arithmetic over String Length
Murphy Berzish, Mitja Kulczynski, Federico Mora, Florin Manea, Joel Day, Dirk Nowotka, and Vijay Ganesh
ATVA '21 Verification by Gambling on Program Slices
Murad Akhundov, Federico Mora, Nick Feng, Vincent Hui, and Marsha Chechik
VSTTE '20 BanditFuzz: A Reinforcement-Learning Based Performance Fuzzer for SMT Solvers
Joseph Scott, Federico Mora, and Vijay Ganesh
SYNT '20 Synthesis in UCLID5
Federico Mora, Kevin Cheang, Elizabeth Polgreen, and Sanjit Seshia
ASE '20 Scaling Client-Specific Equivalence Checking via Impact Boundary Search
Nick Feng, Federico Mora, Vincent Hui, and Marsha Chechik
CAV '18 StringFuzz: A Fuzzer for String Solvers
Dmitry Blotsky, Federico Mora, Murphy Berzish, Yunhui Zheng, Ifaz Kabir, and Vijay Ganesh
ASE '18 Client-Specific Equivalence Checking
Federico Mora, Yi Li, Julia Rubin, and Marsha Chechik

Grant Writing

2021

Amazon Research Award (with Sanjit A. Seshia as PI)

Scalable Verification of Secure Distributed Services through Synthesis and Learning

Teaching and Mentoring

My teaching and mentoring is primarily influenced by universal design for learning (UDL) principles.

Courses Taught

2022-24

Guest Lectures, UC Berkeley

EECS 219C: Formal Methods: Specification, Verification, and Synthesis

  • Abstraction and Verification by Reduction to Synthesis
  • Interpolation-Based Model Checking and IC3
  • Satisfiability Modulo Theories - Part II: Theories and Theory Solvers
  • Syntax-Guided Synthesis

CS 164: Programming Languages and Compilers

  • Regular Expressions and Tokenization
2021-22

Graduate Student Instructor, UC Berkeley

CS 164: Programming Languages and Compilers (2)

2016-18

Teaching Assistant, University of Toronto

CSC 324: Principles of Programming Languages

CSC 384: Introduction to Artificial Intelligence (2)

CSC 410: Software Testing and Verification (2)

2015-16

Teaching Assistant, Mount Allison University

COMP 1631: Introduction to Computer Science

Students Mentored

2020-24

UC Berkeley Undergraduate Students

Amar Shah (ACM SRC Grand Finals Runner-up), Annamira O’Toole, Selina Kim, Nikhil Pimpalkhare (co-mentored with Elizabeth Polgreen)

2023-24

MiraCosta College Students

Haley Lepe (NDiSTEM ’23 Presentation Award Winner)

2022-23

City College of San Francisco Students

Isaac Chan (co-mentored with Lauren Pick)

2018-20

University of Toronto Undergraduate Students

Murad Akhundov (POPL ’20 USRC Winner), Lukas Finnbarr O’Callahan, Alex Tough

Service

I prioritize service that promotes diversity, equity, and inclusion in computer science. Whether directly, like through application assistance, or indirectly, like through outreach at local schools.

University or Department Service

2024 CS Faculty Hiring Committee
2023 Equal Access to Application Assistance Reviewer
2021 Visit Day Coordinator
2020 Berkeley Programming Systems Seminar Series Organizer
2019-20 CSGSA Social Chair

Chair Positions

2024 Publicity Chair, International Conference on Neuro-symbolic Systems (NeuS)

Program Committees

2026 AAAI Conference on Artificial Intelligence (AAAI)

Artifact Evaluation Committees

2023 Tools and Algorithms for the Construction and Analysis of Systems (TACAS)

Conference Reviews

2025 Neural Information Processing Systems (NeurIPS)
2024 Tools and Algorithms for the Construction and Analysis of Systems (TACAS)
2024 Verification, Model Checking, and Abstract Interpretation (VMCAI)
2024 Object-Oriented Programming, Systems, Languages and Applications (OOPSLA)
2022 Formal Methods in System Design (FMSD)
2022 Formal Methods in Computer-Aided Design (FMCAD)
2021 Computer Aided Verification (CAV)
2021 Formal Methods in Computer-Aided Design (FMCAD)
2021 Programming Language Design and Implementation (PLDI)
2021 Tools and Algorithms for the Construction and Analysis of Systems (TACAS)
2019 Automated Software Engineering (ASE)
2018 Automated Software Engineering (ASE)
2018 Computer Aided Verification (CAV)
2018 International Joint Conference on Automated Reasoning (IJCAR)
2017 Automated Software Engineering (ASE)
2017 Foundations of Software Engineering (FSE)

Conference Volunteering

2022 Programming Language Design and Implementation (PLDI)
2022 Bryant Discoveries Day (FLoC)
2019 Waterloo Machine Learning, Verification, and Security Workshop

Community Outreach

2022

Citizen Clinic

Worked with indigenous land rights activists to help them defend themselves and their communities from cyber threats.

2022

Be A Scientist

Mentored a group of four seventh grade students in Spanish. Students designed and conducted their own scientific experiment over a six-week-long lab.

2020

Bay Area Scientists in Schools (BASIS)

Developed a new bilingual “You Belong” lesson on Ynés Mexía’s research. Lesson delivered to schools serving low-income and historically marginalized communities.

Awards and Distinctions

2025 NeurIPS Top Reviewer
2024 Winner of the QF_Datatypes division of SMT-COMP 2024
2024

Outstanding Graduate Student Peer Mentor Award (UC Berkeley)

Four students selected out of ~12000 graduate students. Honors “students who have shown an outstanding commitment to mentoring, advising, and generally supporting either undergraduate students or their fellow graduate students.”

2024

Demetri Angelakos Memorial Achievement Award (UC Berkeley EECS)

Seven students selected out of ~700 EECS graduate students. “The purpose of the award is to recognize students who, in addition to conducting research, unselfishly take the time to help colleagues beyond the normal cooperation existing between fellow students.”

2023

Outstanding Teaching Assistant Award (UC Berkeley EECS)

“We invite the faculty to nominate approximately the top nine percent of our GSIs and TAs from Spring, Summer and Fall semesters of the previous calendar year. From these, our Student Awards committee selects a subset for our departmental Outstanding TA awards. The remainder will be considered for nomination for the campus award.”

2022

Outstanding Graduate Student Instructor Award (UC Berkeley)

Honors “UC Berkeley GSIs each year for their outstanding work in teaching on the Berkeley campus.”

2021

Qualcomm Innovation Fellowship

16 proposals selected out of >100. For “… recognizing, rewarding, and mentoring PhD and Masters students across a broad range of technical research, based on Qualcomm’s core values of innovation, execution, and teamwork.”

2021 Chair’s Graduate Award (UC Berkeley EECS)
2019 Department Fellowship (UC Berkeley EECS)
2018 C. C. Gotlieb (Kelly) Graduate Fellowship (University of Toronto CS)
2017 Alfred B. Lehman Graduate Scholarship (University of Toronto CS)