PROGRAMMING  LANGUAGES  RESEARCH
Department of Computer Science, The University of Maryland, College Park
Faculty
Jeff Foster
Mike Hicks
Bill Pugh
 
Students
David An
Nat Ayewah
Brian Corcoran
Mike Furr
Chris Hayden
Gary Jackson
Yit Phang Khoo
Martin Ma
Iulian Neamtiu
Polyvios Pratikakis
Saurabh Srivastava
Nikhil Swamy
 
Publications
 
Resources
Software Chat
PL Group Wiki
 
Alumni
Mujtaba Ali
David Greenfieldboyce
Dave Hovemeyer
Jeremy Manson
Manuel Oriol (post-doc)
Nick L. Petroni, Jr.
James Rose
Jaime Spacco
space space space
CURRENT PROJECTS
BEEP   Browser-enforced Embedded Policies to defeat script injection attacks
CMod   A tool for enforcing modular programming in C
CQual   A framework for adding type qualifiers to C
Cyclone   A type safe dialect of C that features advanced manual memory management
FindBugs   A program that finds bugs in Java programs
Ginseng   Safe on-line software updating for C programs
JQual   Type qualifier inference for Java programs
Locksmith   Static analysis for race detection in C programs
Marmoset   Mining software repositories to help students learn to program
Path Projection Visualizing program paths for user-centered static analysis
Pistachio   A rule-based static analysis tool for network protocol implementations
RX   Languages that support dynamically updating security policies.
Saffire   Static Analysis of Foreign Function InteRfacEs
SELinks   End-to-end security for web applications
Uno   Inferring aliasing and encapsulation for Java
 
PAST PROJECTS
FindLocks   A combination of static and dynamic techniques for inferring lock types in Java programs
Java Memory Model   Defining the interaction through memory of Java threads
Omega Project   Analysis and transformations of scientific programs
Proxyc   A tool for programming with proxies in Java
 
COURSES
CMSC 631   Program Analysis and Understanding (Fall 2007, Fall 2006, Spring 2006, Fall 2004, Fall 2003)
CMSC 838F   Language-Based Security (Spring 2008)
CMSC 838F   Language-Based Techniques for Concurrent and Distributed Software (Spring 2007)
CMSC 838Z   Language-Based Security (Spring 2005)
CMSC 838Z   Tools and Techniques for Software Dependability (Spring 2004)
CMSC 838P   Enterprise Applications (Fall 2003)
CMSC 838Y   Agile and Adaptive Programming Systems (Spring 2003)
 
EVENTS
MAPLS 2007   Mid-Atlantic Programming Languages Seminar, colocated with NJPLS, November 2007
MAPLS 2005   Mid-Atlantic Programming Languages Seminar, colocated with NJPLS, November 2005
 
TALKS
  Improving Software Quality with Static Analysis
  Static Analysis to Improve Software Quality