Zhong Shao, B.S., University of Science and Technology of China, 1988 M.A., Ph.D., Princeton University, 1991, 1994. Joined Yale Faculty 1994.

Zhong Shao's picture
Professor of Computer Science; Director of Undergraduate Studies Computer Science, Fall 2015
Address: 
AKW 314, 51 Prospect St, New Haven, CT 06511-8937
203-432-6828

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?

Representative 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.