- About
- Events
- Calendar
- Graduation Information
- Cornell Learning Machines Seminar
- Student Colloquium
- BOOM
- Fall 2024 Colloquium
- Conway-Walker Lecture Series
- Salton 2024 Lecture Series
- Seminars / Lectures
- Big Red Hacks
- Cornell University - High School Programming Contests 2024
- Game Design Initiative
- CSMore: The Rising Sophomore Summer Program in Computer Science
- Explore CS Research
- ACSU Research Night
- Cornell Junior Theorists' Workshop 2024
- People
- Courses
- Research
- Undergraduate
- M Eng
- MS
- PhD
- Admissions
- Current Students
- Computer Science Graduate Office Hours
- Advising Guide for Research Students
- Business Card Policy
- Cornell Tech
- Curricular Practical Training
- A & B Exam Scheduling Guidelines
- Fellowship Opportunities
- Field of Computer Science Ph.D. Student Handbook
- Graduate TA Handbook
- Field A Exam Summary Form
- Graduate School Forms
- Instructor / TA Application
- Ph.D. Requirements
- Ph.D. Student Financial Support
- Special Committee Selection
- Travel Funding Opportunities
- Travel Reimbursement Guide
- The Outside Minor Requirement
- Diversity and Inclusion
- Graduation Information
- CS Graduate Minor
- Outreach Opportunities
- Parental Accommodation Policy
- Special Masters
- Student Spotlights
- Contact PhD Office
Abstract: Probabilistic programs and randomized algorithms play an important role in many leading areas of computer science. While exciting applications expand rapidly, our ability to verify randomized programs lags behind. Like all software, probabilistic programs are susceptible to bugs. Worse, they are hard to check using traditional methods, like testing: the intended behavior is not deterministic, involving a distribution of program behaviors.
In this talk, I will present verification methods for randomized algorithms based on a simple guiding principle: align classical verification methods with the techniques algorithm designers use to prove correctness. In particular, I will discuss how separation logic---a method originally designed for analyzing pointer-manipulating programs---can also model probabilistic independence, giving a new method to prove security of cryptographic protocols. I will also show how verification methods designed for certifying correctness of compiler transformations can also capture a powerful proof technique from probability theory called "proof by coupling", enabling clean verification of properties including privacy of probabilistic queries, incentive compatibility of randomized mechanisms, and stability of learning algorithms.
Bio: Justin Hsu is an assistant professor of Computer Sciences at the University of Wisconsin--Madison. He was a postdoc at Cornell and UCL, after receiving his doctorate in Computer Science from the University of Pennsylvania. His research focuses on formal verification of probabilistic programs, including algorithms from differential privacy, protocols from cryptography, and mechanisms from game theory. His work has been recognized by an NSF CAREER award, a SIGPLAN John C. Reynolds Doctoral Dissertation award, a Facebook TAV award, a Facebook Probability and Programming award, and a Simons Graduate Fellowship in Theoretical Computer Science