|
I am an associate professor in the Computer Science Department and UMIACS, and an affiliate associate
professor in the Electrical and Computer
Engineering Department, at the University of Maryland, College Park.
My primary research interest is to develop and evaluate techniques to improve software reliability and security.
With Bill Pugh and Jeff Foster I direct
PLUM, the lab for Programming
Languages research at the University of Maryland.
You may find
it interesting to read about how we organize our group.
During academic 2008 - 2009, I am on sabbatical in Cambridge, England.
From September to November I was at Microsoft Research and for the remainder of my stay I am at the University of Cambridge Computer Laboratory.
| Office: | FS02 |
| Phone: | +44 (0)1223 763 591 |
Here is my current vita and a list of my publications, organized by year and by category.
I received my Ph.D. in Computer
and Information Science from the University
of Pennsylvania in August 2001, and I spent one year as a
post-doctoral associate affiliated with the Information Assurance Institute
of the Computer Science
Department at Cornell University.
How fast
can you type? (My best so far is 97 wpm.)
Students
Current Students:
Graduated students:
| Pavlos
Papageorgiou |
Software Engineer, Google,
New York, since December 2008 |
| Iulian
Neamtiu |
Asst. Prof, UC Riverside,
since Fall 2008 |
| Polyvios
Pratikakis* |
Post-doc, CNRS/VERIMAG,
since Fall 2008
|
| Nikhil
Swamy |
Researcher, Microsoft Research, Redmond,
since Fall 2008 |
| Jeff Meister* (undergrad) |
Grad student, UCSD, since Fall 2008 |
| Nick
Petroni** |
Research scientist, IDA/CCS
since Spring 2008 |
| Manuel
Oriol (postdoc) |
Senior Lecturer, University of York (UK),
since Fall 2008 |
I am also working with Mike Furr and
David An (advised
by Jeff Foster),
Justin McCann (advised by
Neil Spring), and
Suriya Subramanian
(advised by Kathryn McKinley) on a couple of projects. In the past I have worked with
James Rose and Jaime Spacco. Ted Smith, a high school student at Walt Whitman High, also did some great
summer work with me.
Research
I am currently working on a number projects.
| Ginseng
- a practical
system for dynamically updating running software written in C. |
| SELinks
- a programming language that
supports custom-defined security policies for web applications.
| | Path
Projection - an approach to
presenting the results of static analysis tools that accounts for
the user's cognitive process. Path projection is a browser-based
UI toolkit for presenting, navigating, and
querying paths emitted as static analysis results.
| | Measurement-aware Data Transport -
We are exploring ways in which passive and active
measurement schemes can be integrated with transport protocols to
reduce overhead and improve performance.
|
Here are a number of projects that are currently inactive:
| LockSmith
- a static analysis tool for proving
the absence of race conditions in C programs, requiring few or no
annotations.
| | CMod
- A module system for legacy C programs.
| | Runtime Kernel Integrity Monitoring - a technique for automatically monitoring the integrity of kernel code/control-flow behavior in an effort to detect rootkits.
| | Cyclone
- a dialect of C for more reliable and secure
systems programming. A hallmark of Cyclone is type safety combined
with a high degree of control over data layout and memory management.
| | RX
- a programming language that supports proving
the absence of illicit information flows in programs while allowing
policies to evolve over time. We are targeting multi-tier web
applications.
| | Transparent Proxies
for Java. A
static analysis for adding or checking proxy-based functionality in
Java programs, e.g., to support asynchronous method invocation in
which proxies store
futures - the results of computations not yet
completed.
| | FindLocks
- a tool for proving the absence
of race conditions in Java programs, which uses dynamic trace data to
aid a sound static analysis.
| | MediaNet
is a distribution network for streaming
data using distributed, adaptive scheduling to provide
Quality-of-Service.
|
Teaching
Professional Activities
I have served (or am serving) on the program committees for
| 2009 | POPL,
IEEE S&P; |
| 2008 | CCS, CATARS,
COORDINATION
|
|---|
| 2007 | PLAS (general and
program chair), OOPSLA, COORDINATION, PLDI
|
|---|
| 2006 | FTfJP,
PLAS,
SPACE,
OOPS (part of SAC 2006)
|
|---|
| 2005 | SCOOL,
VEE
|
|---|
| 2004 | IWAN, ICPP, FUSE
|
|---|
| 2003 | IWAN, USE
|
|---|
| 2002 | IWAN, USE
|
|---|
| 2001 | IWAN
|
|---|
|
|