
|
|
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 Faculty Administrative Assistant is Susan Welby, Maxwell Dworkin 239, (617) 496-7592, swelby at seas.harvard.edu.
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:
![]() |
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:
Stephen 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. |