Zhong Shao


Thomas L. Kempner Professor of Computer Science
Room / Office: Watson 314
Office Address:
51 Prospect Street
New Haven, CT 06511
Mailing Address:
P.O. Box 208285
New Haven, CT 06520
Phone: (203) 432-6828
Email: zhong.shao@yale.edu
  • Ph.D., Princeton University
  • M.A., Princeton University
  • B.S., University of Science and Technology of China


Zhong Shao is a Professor of Computer Science at Yale University. His research interests include programming languages, compilers, formal methods, and operating systems. He earned his Ph.D. in Computer Science from Princeton University in 1994. During his early career, he was a key developer and author of many key compilation phases used in the Standard ML of New Jersey compiler, and also one of the first to build a type-based intermediate representation in a functional-language compiler. He designed and developed the first production-quality type-preserving compiler for the entire Standard ML 1997 language extended with higher-order modules and was the main architect of the FLINT certifying infrastructure.

In recent years, he has been interested in developing and applying new language-based technologies to build certified system software (e.g., OS kernels and hypervisors). Certified software consists of a binary machine executable plus a rigorous machine-checkable proof that the software is free of bugs with respect to specific requirements. A certified OS kernel is a library-based kernel but with formal specifications and proofs about all of its abstraction layers and system libraries. Dr. Shao's current research intends to attack the following three important questions: (1) Under a clean-slate approach, what are the right OS kernel structures that can offer the best support for resilience, extensibility, and security? (2) What are the best programming languages and developing environments for implementing such certified kernels? (3) What new formal methods we need to develop in order to support these new languages and make certified kernels both practical and scalable?

Selected Publications:

  • "A Type System for Certified Binaries," with V. Trifonov, B. Saha, and N. Papaspyrou, ACM Transactions on Programming Languages and Systems (TOPLAS), 27(1):1-45, January 2005.
  • "Certified Self-Modifying Code," with H. Cai, In Proc. 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'07), June 2007.
  • "Certifying Low-Level Programs with Hardware Interrupts and Preemptive Threads," with X. Feng, Y. Guo, and Y. Dong, In Proc. 2008 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'08), June 2008.
  • "VeriML: Typed Computation of Logical Terms inside a Language with Effects," with A. Stampoulis, Proc 2010 ACM SIGPLAN International Conference on Functional Programming (ICFP'10), September 2010.