Research interests:
My research interests are in compilers both for embedded and
general-purpose systems, as well as computer security. Specific
current interests include:
- Binary rewriting
This
effort is concerned with how to rewrite binaries with the least amount
of restrictions, and in the most general manner.
Support: This project is partially supported by National
Science Foundation (NSF) grants #0720683 and #0916903.
- Automatic
parallelization.
This project aims to automatically convert serial programs into
parallel programs.
Support: This project is partially supported by the
Defense Advanced Research Projects Agency (DARPA) under an AACE
contract. This 2-page
brochure outlines the project.
- Compilation for
fine-grained architectures. Supporting pre-fetching and nested
parallelism in a compiler for the XMT machine, a fine-grained
architecture being built at UMD.
Support: This project is partially supported by National
Science Foundation grant #0834373.
- Memory management
for embedded systems. How to allocate data and instructions in
embedded systems to specific memories such as scratch-pad memories and
lockable caches.
Support: This project is partially supported by National
Science Foundation (NSF) grant #0720683, and
in the past by NSF grants #0133519 and #0410565.
- Security policy
enforcement.
How to enforce security policies and access restrictions using a
binary rewriter.
I also have worked on projects related to memory safety and real-time
wireless media-access protocols in the past.
See the publications list for
publications in many of the above areas.
Teaching:
Websites of all courses since Fall 2007 are available on the
University's online Blackboard system
(to registered students only.) The websites of older courses are
linked below.
Spring 2009: ENEE 446
Fall 2008: ENEE
459R
Spring 2008: ENEE 446
Fall 2007: ENEE
350H
Spring 2007: ENEE759C
Fall 2006: ENEE350H
Spring 2006: ENEE244, ENEE698B
Fall 2005: ENEE350H
Spring 2005: ENEE759C
Fall 2004: ENEE350H
Spring 2004: ENEE446
Fall 2003: ENEE350H
Spring 2003: ENEE759C
Fall 2002: ENEE350H
Spring 2002: ENEE244
Fall 2001: ENEE350H
Spring 2001: ENEE244
Fall 2000: ENEE646, ENEE698B
Spring 2000: ENEE759C
|