|
|
I am an Assistant Professor in the Computer Science Department and UMIACS at the University of Maryland,
College Park. I am a member of the programming languages
group at Maryland.
The goal of my research is to develop practical tools and
techniques to improve software quality. I am interested in
programming languages, software engineering, advanced static type
systems, scalable constraint-based analysis, and building tools that
implement my ideas. In the past I worked on the BANE Project and was a member
of the Open Source
Quality Project.
As part of my research I have developed cqual, a tool for adding
type qualifiers to C programs.
In Fall 2008, I will be teaching CMSC 330,
Organization of Programming Languages. I will be teaching CMSC 631 in
Spring 2009.
Recent Publications and Drafts
Students
Graduated/Graduating Students
Professional Activities
- PLDI 2009
External Review Committee
- TLDI 2009
Program Committee
- Summer
School on Logic and Theorem Proving in Programming Languages, July 2008,
Steering Committee
- IWACO
2008 Program Committee
- MSR
India Summer School on Programming Languages, Analysis and
Verification, June 2008, Lecturer
- CCS 2008 Program Committee
- ECOOP 2008 Program Committee
- Summer School on Language-Based Techniques for
Integrating with the External World, July 2007, Co-organizer
- PLAS 2007 Program Committee
- POPL 2007, POPL 2008, POPL 2009 Treasurer
- Summer School on Language-Based Techniques for
Concurrent and Distributed Software, July 2006 Co-organizer
- PLDI 2006 Tutorials Chair
- Summer School on Fault Tolerance and Reliable
Computing Lecturer, July 2005
- PLDI
2004 Program Committee
- Summer School on Software Security Lecturer, June 2004
Software
- Arrowlets - Directing
JavaScript with arrows
- Path Projection -
Visualizing program paths for user-centered static analysis
- Uno - Inferring
aliasing and encapsulation for Java
- JQual - Type
qualifier inference for Java
- CMod - Enforcing
modular programming in C
- Pistachio - A
rule-based static analysis tool for network protocol implementations
- Locksmith - A
static analysis tool for detecting data races in C programs
- Saffire - Static Analysis of
Foreign Function Interfaces
- CQual - A tool for adding type
qualifiers to C.
- Carillon - A
type-qualifier based system for finding Y2K bugs in C programs.
- BANE - The Berkeley
Analysis Engine, a toolkit for building constraint-based analyses.
Also see Banshee,
the successor to Bane.
Other
I am always looking for new students interested in working with me
on research projects in programming languages as applied to software
engineering problems. If you are interested in finding out more about
recent work in programming languages, please get in touch!
|