1998 - 1999 CS Annual Report                                                                  Faculty
choices.gif (4488 bytes)

Greg Morrisett

Assistant Professor

PhD CMU, 1995

My primary research interests are in the development of programming language and compiler technology. I am particularly interested in exploring high-level language
facilities for building reliable, secure, and high-performance systems software (e.g. run-time systems, distributed systems). I have concentrated on producing code that is
faster and consumes less memory without sacrificing safety or robustness. 

My recent work has focused on type systems for extremely low-level languages. Our group has just designed and implemented a type checker for the Intel x86 architecture, and we showed how high-level languages, such as ML, Scheme, Safe-C, and Java, may be compiled to assembly 
language, yet still be type-checked. This technology provides a means to safely extend systems such as kernels, web browsers, or hand-helds without the overheads of a virtual machine or just-in-time compiler.  
Other recent topics of interest include type systems for run-time type dispatch, proof-carrying code, run-time code generation and the connection with modal type systems. 

  • National Science Foundation Career Award, 1999 
  • Sloan Foundation Fellow, 1998 
University Activities  
  • Computer Science Ph.D. admissions committee 
Professional Activities  
  • IFIP Working Group 2.8 on Functional Programming 
  • Program Committee Chair: 1998 ACM Workshop on ML  
  • Program Committees: 1997 ACM Workshop on Types in Compilation; 1998 ACM Conf.
    Programming Language Design and Implementation; 1998 Asian Computing Conf.; 1999
    Latin American Conf. Functional Programming 
  • Type-checking x86 assembly code. Computer Science, MIT, Mar. 1999.  
  • Language-based security mechanisms. Computer Science, Univ. of Virginia, Oct 1998.  
  • Proofs, types, and safe mobile code. Annual Conference of the European Association for
    Computer Science Logic, Brno, Czech Republic, Aug. 1998. 
  • Principals in programming languages. ACM International Conference on Functional Programming, Paris, France (Sept. 1999) (with S. Zdancewic and D. Grossman).  
  • Typed memory management in a calculus of capabilities. Proc. ACM Symp. Principles of
    Programming Languages 26
    (Jan. 1999), 262-275 (with K. Crary and D. Walker).  
  • Type-safe linking and modular assembly language. Proc. ACM Symp. Principles of
    Programming Languages 26
    (Jan. 1999), 250-261 (with N. Glew).  
  • TalX86: A realistic typed assembly language. ACM Workshop on Compiler Support for Systems Software, Atlanta, GA (May 1999) (with K. Crary, N. Glew, D. Grossman, R. Samuels, F. Smith, D. Walker, S. Weirich, and S. Zdancewic).  
  • Intentional polymorphism in type-erasure semantics. ACM International Conference on
    Functional Programming
    , Baltimore, MD (Sept. 1998) (with K. Crary and S. Weirich)