Feras Saad

Feras Saad

Assistant Professor


Office 9225 Gates and Hillman Centers

Email fsaad@andrew.cmu.edu

Phone (412) 268-1805

Computer Science Department

Administrative Support Person
Oliver Moss

Research Interests
Artificial Intelligence
Programming Languages
Scientific Computing

CSD Courses Taught

15251 - Spring, 2024


I joined the Computer Science Department at Carnegie Mellon University in Fall 2023 as an Assistant Professor. Previously, I was a Visiting Research Scientist at Google. I received my Ph.D degree in Computer Science 2022 and the Master of Engineering and Bachelor of Science degrees in Electrical Engineering and Computer Science in 2016, from the Massachusetts Institute of Technology (MIT). My dissertations on probabilistic programming systems were recognized with the George M. Sprowls PhD Thesis Award in Artificial Intelligence and Decision Making (2023) and the Charles & Jennifer Johnson MEng Thesis Award in Computer Science (2017) from MIT's EECS Department.

Research/Teaching Statement

The goal of my research is to develop new techniques for building scalable computing systems that enable flexible probabilistic modeling and sound probabilistic inference.

By integrating ideas from programming languages and probabilistic AI, we seek to improve our ability to engineer powerful reasoning systems with a higher degree of automation, accuracy, and scale as compared to existing approaches.

My interests in this problem span the computing stack---from foundational questions (e.g., how to represent probability on computers) to programming systems (languages, semantics, and compilers for probabilistic programs) up to statistical models and algorithms for tackling high-impact data science problems. Current research interests include:

Probabilistic Programming. Researchers in diverse areas (e.g., econometrics, cognitive science, bioinformatics) work hard to develop computational models of uncertain data and perform inference from observed data to learn about the underlying data-generating process. Probabilistic programs, which produce outputs by making random choices, are a unifying and uniquely expressive approach to modeling and inference over these processes. Our focus lies in developing specialized programmable systems that aim to rigorously formalize the semantics of probabilistic models, automate the process of discovering these models for complex data, and scale-up the very hard aspects of probabilistic inference in high-dimensional settings.

Automated Probabilistic Model Discovery. A central challenge in artificial intelligence is automating the process of discovering accurate and interpretable probabilistic models that let us learn and reason about data. We attack this problem from the lens of probabilistic program synthesis, formalized as Bayesian structure learning over rich generative model families.

Statistical Estimators and Tests. As probabilistic programs become a more widespread representation, we need to develop new statistical analysis methods for estimating their properties using the black-box computational inferences they expose. While static or closed-form analysis is possible in some restricted cases, a more general framework lies in simulation-based dynamic analyses that learn about programs by analyzing their distributions over execution traces.

Random Sampling Algorithms. This line of work explores fundamental computational limits of random variate generation, which is a key operation that enables probabilistic computation. Specific interests include new sampling algorithms that are theoretically optimal or near-optimal (in entropy consumption and statistical sampling error) while remaining extremely efficient in practice.

Software + Applications. A central motivation of my research is to develop performant, freely available software systems that make probabilistic inference more broadly accessible to everyday users while also helping domain-experts solve meaningful problems in the sciences, engineering, and public interest.