Adam ChlipalaView profile
Professor
Adam Chlipala is a Professor at the Massachusetts Institute of Technology working at the intersection of programming languages, formal methods, and computer systems. His research focuses on building practical verified systems with end-to-end machine-checked proofs, particularly using the Coq proof assistant. His educational background includes a Computer Science undergraduate degree from Carnegie Mellon University (2003) and a PhD in Computer Science from the University of California, Berkeley (2007). Following a postdoctoral position at Harvard University through 2011, he joined MIT as faculty. Chlipala's research spans multiple domains with strong emphasis on dependent types , verified compilation , and hardware-software co-verification . His work consistently bridges theoretical foundations with practical implementation, as evidenced by his development of the Ur/Web programming language and his focus on creating clean-slate hardware-software stacks with formal guarantees. Key research thrusts include cryptographic constant-time verification, side-channel security, and verified tensor compilation. His recent publications (2020-2025) reveal a clear trajectory toward increasingly complex verified systems, with growing emphasis on hardware-software integration, cryptographic implementations, and performance-critical applications. The work consistently leverages Coq for machine-checked proofs while addressing real-world constraints like timing channels and hardware interfaces. Chlipala is the author of the influential textbook Certified Programming with Dependent Types , which serves as a primary educational resource for Coq at numerous institutions worldwide. His professional activities include significant service to the PL community through program committees for major conferences including PLDI, POPL, ICFP, and CPP. He leads research initiatives connecting hardware and software verification, most notably through the DeepSpec project which aims to build fully verified computing stacks. His current work focuses on practical applications of dependent types for business applications through Ur/Web and verified cryptographic implementations.











