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:
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



CMSC 412 Others

I am an assistant professor in the Computer Science Department and UMIACS, and an affiliate assistant professor in the Electrical and Computer Engineering Department, at the University of Maryland, College Park. I am also a member of CHESS.

The overarching goal of my research is to learn how to develop more flexible, reliable, and secure software. My research bridges the areas of "systems" and programming languages, in that I have frequently applied or developed language-based technology to solve systems problems, particularly in networking and distributed systems. My current projects are described below. I am fortunate to be a part of the programming language research group here at Maryland.

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

Students

I am the research supervisor for a number of students: I have also done work with James Rose and Jaime SpaccoManuel Oriol worked with me as a post-doctoral researcher during 2004-2005.

Research

I am currently working on a number projects.
Dynamic Software Updating (students: Iulian Neamtiu and Chris Hayden) - a practical system for dynamically updating running software.
LockSmith (student: Polyvios Pratikakis) - a static analysis tool for proving the absence of race conditions in C programs, requiring few or no annotations.
Runtime Kernel Integrity Monitoring (student: Nick Petroni) - a technique for automatically monitoring the integrity of kernel code/control-flow behavior in an effort to detect rootkits.
RX (student: Nik Swamy) - 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.
CMod (student: Saurabh Srivastava) - A module system for legacy C programs.
Measurement-aware Data Transport (student: Pavlos Papageorgiou). 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 currently-inactive projects, but have some shot at restarting:
Cyclone (student: Nik Swamy) - 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.
Transparent Proxies for Java (students: Polyvios Pratikakis and Jaime Spacco). 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 (students: James Rose and Nik Swamy) - 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