Yale University.  
Computer Science.  
     
Computer Science
Main Page
Academics
Graduate Program
Undergraduate Program
Course Information
Course Web Pages
Research
Our Research
Research Areas
Technical Reports
People
Faculty
Graduate Students
Research and Technical Staff
Administrative Staff
Alumni
Degree Recipients
Resources
Calendars
Computing Facilities
CS Talks Mailing List
Yale Computer Science FAQ
Yale Workstation Support
Computing Lab
AfterCollege Job Resource
Graduate Writing Center
Department Information
Contact Us
History
Life in the Department
Life About Town
Directions
Job Openings
Faculty Positions
Useful Links
City of New Haven
Yale Applied Mathematics
Yale C2: Creative Consilience of
Computing and the Arts
Yale Faculty of Engineering
Yale GSAS Staff Directory
Yale University Home Page
Google Search
Yale Info Phonebook
Internal
Internal
 

Zhong Shao
Professor of Computer Science

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

Personal Homepage

Office Location: AKW 314
Telephone: 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:

Bullet.

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

Bullet.

"Certified Self-Modifying Code," with H. Cai, In Proc. 2007 ACM
SIGPLAN Conference on Programming Language Design and Implementation
(PLDI'07), June 2007.

Bullet.

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

Bullet.

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

Top of Page.