Invited Keynotes &
the Best of the Midwest

PurPL Fest is the kick-off symposium to celebrate the launch of the new Purdue Center for Programming Principles and Software Systems (PurPL). The event is held jointly with the annual Midwest PL Summit, which returns to Purdue in 2019 for its 5th edition.

The program will feature invited lectures from experts around the world on topics spanning PL, AI, ML, crypto, security, as well as contributed talks.

Register Now!

The event is over. Talk videos are available on YouTube.


Keynotes & Invited Speakers

Schedule 9/23

Talk videos are available on YouTube

7:30 AM Breakfast Breakfast
8:15 AM Session 1: Synthesis and Analysis

Chair: Mike Bond, Ohio State
Welcome / Overview
8:30 AM Naturally Editing Typed Expressions with Holes
Cyrus Omar & David Moon, University of Michigan
9:00 AM Learning Network Design Objectives Using A Program Synthesis Approach
Yanjun Wang, Purdue University
9:10 AM Program Synthesis with Live Bidirectional Evaluation
Justin Lubin, University of Chicago
9:20 AM On the correctness of electronic documents: studying, finding, and localizing inconsistency bugs in PDF readers and files
Thibault Lutellier, Waterloo University
9:30 AM Algebraic Program Analysis
John Cyphert, University of Wisconsin
10:00 AM Optimistic Hybrid Analysis for Fast Dynamic Information Flow Tracking
Subarno Bannerjee, University of Michigan
10:10 AM Decidable Synthesis of Uninterpreted Programs
Paul Krogmeier, UIUC
10:20 AM Exact and Approximate Methods for Proving Unrealizability of Syntax-Guided Synthesis Problems
Qinheping Hu, University of Wisconsin
10:30 AM Break/PostersBreak/Posters
11:00 AM Session 2: Development and Testing

Chair: Peter-Michael Osera, Grinnell
CLOTHO: Directed Test Generation for Weakly Consistent Database Systems
Kia Rahmani, Purdue University
11:30 AM Privacy-Preserving Event Frequency Analysis for Deployed Software
Hailong Zhang, Ohio State University
11:40 AM Learning from, Understanding, and Supporting DevOps Artifacts
Jordan Henkel, University of Wisconsin
11:50 AM Storm: Program Reduction for Testing and Debugging Probabilistic Programming Systems
Saikat Dutta, UIUC
12:00 PM Lunch/PostersLunch/Posters
2:00 PM Session 3: Verification

Chair: Jean-Baptiste Jeannin, Michigan
Decidable Verification of Uninterpreted Programs
Umang Mathur, UIUC
2:30 PM ART: Abstraction Refinement-Guided Training for Provably Correct Neural Networks
Xuankang Lin, Purdue University
2:40 PM Verifying Safety and Accuracy of Approximate Parallel Programs via Canonical Sequentialization
Vimuth Fernando, UIUC
2:50 PM Formal Verification of a Finite Difference Scheme
Mohit Tekriwal, University of Michigan
3:00 PM Proving Robustness to Training Set Poisoning Attacks
Samuel Drews, University of Wisconsin
3:10 PM Rethinking (and Replacing) Regular Expressions After 50 Years
Jamie Jennings, NCSU
3:40 PM Break/PostersBreak/Poster
4:10 PM Session 4: Semantics and Types

Chair: Sam Tobin-Hochstadt, IU
Partial Type Constructors; Or, Making ad hoc datatypes less ad hoc
Garrett Morris, University of Kansas
4:40 PM Architecting Query Compilers for Diverse Workloads
Ruby Tahboub, Purdue University
4:50 PM Programming with Rational Coinductive Streams
Jean-Baptiste Jeannin, University of Michigan
5:00 PM Space-Efficient Monotonic References
Deyaa Almahallawi, Indiana University
5:10 PM Bunched Separation Polymorphism
Apoorv Ingle, University of Kansas
5:20 PM Recovering Purity with Comonads and Capabilities
Vikraman Choudhury, Indiana University
5:30 PM The verified-classes library: big proofs, little tedium
Ryan Scott, Indiana University
5:40 PM Wrap-up Wrap-up
6:00 PM Drinks & Dinner Drinks & Dinner

Schedule 9/24

Talk videos are available on YouTube

7:30 AM Breakfast Breakfast
8:15 AM Welcome / PurPL
8:45 AM Session 1 Gradient Descent: The Ultimate Optimizer
Erik Meijer, Facebook
9:35 AM Compiling Domain Specific Languages to Domain Specific Architectures
Kunle Olukotun, Stanford & SambaNova
10:25 AMBreak Break
10:45 AM Session 2

Chair: Ryan Newton
Towards Robust and Explainable Artificial Intelligence
Pushmeet Kohli, DeepMind
11:35 AM New Directions in Representation Learning of Logical Formulae
Bruno Ribeiro, Purdue
11:55 AM Software for AI and AI for Software
Lin Tan, Purdue
12:15 PMLunch Lunch
1:15 PM Session 3

Chair: Ben Delaware
(Programming Languages) in Agda =
Programming (Languages in Agda)

Philip Wadler, Univ. Edinburgh & IOHK
2:05 PM Compiler Verification: The Next Generation
Amal Ahmed, Northeastern
2:55 PM Memory Hard Functions and Password Hashing
Jeremiah Blocki, Purdue
3:15 PM Break Break
3:40 PM Session 4

Chair: Xiaokang Qiu
What is a Programming Language? What is a Program? What is a Programmer?
Ben Zorn, Microsoft Research
4:30 PM A Dependently-Typed Core Calculus for GHC
Stephanie Weirich, U. Penn
5:20 PM Discover[i]: Component-based Parameterized Reasoning for Distributed Applications
Roopsha Samanta, Purdue
5:40 PM Wrap-up Wrap-up
6:30 PM VIP Dinner (by invitation)

Save the Dates

Midwest PL Summit will be held on Monday, Sept. 23, 2019. PurPL Fest will take place Tuesday, Sept. 24, 2019.

Submit your Talk

Anybody is welcome to submit a talk or poster proposal (deadline Aug 15). The registration form below contains fields for talk format, title, and abstract.

Travel Support

Travel support is available for eligible attendees, especially students (deadline Aug 15). Details on how to apply are available as part of the registration form.

Follow PurPL on Twitter to stay up-to-date!


Midwest PL Summit and PurPL Fest will be held in Shively Club, inside Purdue's Ross Ade Stadium. Stunning views over the Purdue campus and the town of West Lafayette are guaranteed. Meals will be provided, including a reception and dinner on Sept 23.

Google Maps Generator by


There are several hotels near campus, including the Hilton Garden Inn, Hampton Inn and Suites, Four Points by Sheraton, Holiday Inn Lafayette City Centre. We have arranged for group discounts with several of them (see link for how to book).