|
|
I am an Associate 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
Spring 2011, I am teaching CMSC 330.
Recent Publications and Drafts
[Enable JavaScript to see list of recent publications and drafts]
Current Students/Post Docs
Past Undergraduate, Graudate Students, Post Docs:
Professional Activities
- PLDI 2012 External Review Committee
- POPL 2012 External Review Committee
- PASTE 2011 Co-chair
- PLDI 2011 External Review Committee
- STOP 2011 Program Comittee
- POPL 2011 Program Committee
- DLS 2010 Program Committee
- PLATEAU
2009 Program Committee
- STOP
2009 Program Committee
- 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
- DRuby - Adding static
typing to Ruby
- VS3 - Verification and
Synthesis using SMT Solvers
- 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.
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!
|