Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Michael Hicks
[go: Go Back, main page]


 

Michael Hicks

E-mail: mwh@cs.umd.edu
Phone: +1-301-405-2710
Fax: +1-301-405-6707
Office: 4131 A.V. Williams Building
Address:

Dept. of Computer Science

University of Maryland

A.V. Williams Building

College Park, MD 20742



Publications Links

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:
Brian Corcoran
Eric Hardisty
Chris Hayden*
Khoo Yit Phang*
Saurabh Srivastava*

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

* co-advised with Jeff Foster ** co-advised with Bill Arbaugh

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