Yale University.  
Computer Science.  
   
     
Computer Science
Main Page
Academics
Graduate Program
Undergraduate Program
Course Information
Course Catalog
Course Web Pages
Research
Our Research
Research Areas
Research Projects
Publications
People
Faculty
Graduate Students
Research and Technical Staff
Administrative Staff
Alumni
Resources
Calendars
Computing Facilities
Yale Computer Science FAQ
Yale Workstation Support
Computing Lab
AfterCollege Job Resource
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 Faculty of Engineering
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.

Zhong Shao’s primary research interest is on using modern programming-language technologies (e.g., Java and ML) to build efficient, reliable, and extensible systems environments (e.g., compiler and OS) for future computing and communication systems. Recent progress has demonstrated that modern type-safe languages can be implemented efficiently and used in systems and application programming. The results are smaller, better structured, and easier-to-maintain systems. Type-safe languages are also ideal for many emerging applications such as mobile code and extensible OS. For example, type safety and system-wide garbage collection will allow future computer systems to more efficiently utilize system resources and drastically reduce the copying and protection boundary switching–a major bottleneck between fast CPU and networks in today’s distributed systems.

Shao currently leads the FLINT Project which focuses on building an advanced mobile-code infrastructure for the Next Generation Internet. The key innovation of FLINT is the use of a common typed intermediate language to model the semantics and interaction of various features from different programming languages. FLINT is based on a variant of typed lambda calculus that is capable of specifying, formalizing, and reasoning about advanced program properties (e.g., safety, security, and resource usages). The fact that almost all interesting language features can be compiled into the FLINT-like calculi is not surprising because typed lambda calculi are frequently used as meta-languages for reasoning about formal logic and semantics.

The rich type system of FLINT also makes it possible to build a smaller and more extensible virtual machine (VM) because low-level unsafe routines that would otherwise be in VM can now be certified and moved into a type-safe library. Unlike the Java Virtual Machine Language (JVML) which is notoriously inefficient, complex, and hard to extend, FLINT eliminates all these weaknesses and provides support to multiple programming languages such as Java, ML, and C.

Shao collaborates with researchers at Princeton and Bell Laboratories on the DARPA/PCC and SML/NJ projects. He is a member of ACM, USENIX, and IEEE, an associate editor of Journal of Functional Programming, and a recipient of NSF Career Award (1995).

Representative Publications:

Bullet.

"Efficient and Safe-for-Space Closure Conversion," with A. Appel. To appear in ACM Transactions on Programming Languages and Systems (TOPLAS), 2000.

Bullet.

"Representing Java Classes in a Typed Intermediate Language," with C. League and V. Trifonov, ACM SIGPLAN International Conference on Functional Programming (ICFP’99), September 1999.

Bullet.

"Flexible Representation Analysis," ACM SIGPLAN International Conference on Functional Programming (ICFP'97), June 1997.

Top of Page.

 
Yale University.