Greg Morrisett
Allen B. Cutting Professor of Computer Science
School of Engineering and Applied Sciences
Harvard University
151 Maxwell Dworkin Hall
33 Oxford Street
Cambridge, MA  02138
Phone:  (617) 495-9526     Fax:  (617) 495-2498
Email:  greg {at} eecs.harvard.edu


My calendar can be found here.

My Faculty Administrative Assistant is Susan Welby, Maxwell Dworkin 239, (617) 496-7592, swelby at seas.harvard.edu.


Research Activities

My current research interests are in the applications of programming language technology for building secure and reliable systems.   In particular, I am interested in applications of advanced type systems, model checkers, certifying compilers, proof-carrying code, and inlined reference monitors for building efficient and provably secure systems.  I am also interested in the design and application of high-level languages for new or emerging domains, such as sensor networks and robotics.

Current Research projects:

The Center for Research on Computation and Society:  The Center for Research on Computation and Society (CRCS) brings computer scientists together with a broad range of researchers, including economists, psychologists, legal scholars, ethicists, neuroscientists, and other academic colleagues. 
Ynot: The goal of the Ynot project is to explore the design, implementation, and use of next-generation type systems. In particular, we are focusing on the integration of powerful program logics into the type system of an ML-like, higher-order, imperative programming language, making it possible to specify the desired effects of programs and prove correctness.
RoboBees: Inspired by the biology of a bee and the insect's hive behavior, we aim to push advances in miniature robotics and the design of compact high-energy power sources; spur innovations in ultra-low-power computing and electronic "smart" sensors; and refine coordination algorithms to manage multiple, independent machines.
NoBot: We address the problem of threats to networked systems from botnets, which are large-scale collection of malware-infected hosts("bots"). Our approach is to design a programmable platform for innovation, the NoBot Programming Environment (NOPE),which may reside on a variety of nodes (such as hosts, servers, middleboxes and routers) that are operated by network providers such as commercial ISPs or DISA. NOPE provides facilities for data collection, data analysis and policy distribution, creating a coordinated set of nodes which collaborate to overcome the botnet threat.
GoNative: This project focuses on low-overhead techniques for providing security guarantees to software systems in which type-safe languages such as Java interoperate with native C, C++, and assembly code.

Some Previous Research projects:

Cyclone The Cyclone Safe-C Project: Cyclone is a type-safe dialect of C that provides good control over data representations and memory management without sacrificing safety. It uses a combination of novel technologies, including region-based types, wrapped libraries, and link-time checking to achieve these goals.

Macroprogramming Sensors: We are investigating high-level languages for programming diverse, distributed networks of inexpensive sensors.  Our goal is to greatly simplify sensor network application design by providing high-level programming abstractions, and primitives that automatically compile down to the complex, low-level operations implemented by each sensor node. 

Pittsfield Police
PittSFIeldStephen McCamant (MIT) and I developed an efficient software-based fault isolation (SFI) tool for x86 code.  The tool can be used to restrict a process from reading, writing, or executing addresses outside a specified range without the need for hardware-based process isolation. 
Typed Assembly Language:  A type system for the Intel x86 assembly language. The TAL type system is rich enough that we can efficiently encode a number of high-level language constructs, yet it is still possible to statically verify that the machine code will respect type safety when executed.  The latest release (2.0) of the TAL tools can be found here.

Current Service Activities:


Teaching at Harvard:



Ph.D. Students and Post Docs:

Current Post Docs:

Current Ph.D. Students:

Past Graduate Students, Post Docs: