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 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 |
|
“Certified Self-Modifying Code,” with H. Cai, In Proc. 2007 ACM |
|
“Certifying Low-Level Programs with Hardware Interrupts and Preemptive |
|
“VeriML: Typed Computation of Logical Terms inside a Language with |