Selected
Recent Publications
(older publications)
|
Cooperative
Types for Controlling Thread Interference in Java
(ISSTA'12)
|
Detecting
Inconsistencies via Universal Reachability Analysis
(ISSTA'12)
|
| Multiple
Facets for Dynamic Information Flow (POPL '12) |
Sound
Predictive Race Detection in Polynomial Time (POPL
'12)
|
| Virtual
Values
for
Language Extension (OOPSLA'11) |
Cooperative
Concurrency
for
a Multicore World (RV'11 invited talk, slides)
|
Types
for
Precise
Thread
Interference (Technical report UCSC-SOE-11-22)
|
| Temporal
Higher-Order Contracts (ICFP'11) |
| Gradual
Information
Flow
Typing (STOP'11) |
Correct
Blame
for
Contracts: No More Scapegoating (POPL '11)
|
|
|
| Adversarial
Memory
for
Detecting Destructive Races (PLDI '10) |
| The
RoadRunner
Dynamic Analysis Framework for Concurrent Programs
(PASTE '10) |
| Permissive
Dynamic
Information
Flow Analysis (PLAS '10) |
| Effects
for
Cooperable
and Serializable Threads (TLDI '10) |
FastTrack:
Efficient
and
Precise Dynamic Race Detection (PLDI '09)
A revised version of this paper appeared in CACM
research
highlights,
Nov. 2010.
|
| Hybrid
Type Checking (TOPLAS'10) |
| SideTrack:
Generalizing
Dynamic
Atomicity Analysis (PADTAD '09) |
| Efficient
Purely-Dynamic
Information
Flow Analysis (PLAS '09) |
|
|
| SingleTrack:
A
Dynamic
Determinism Checker for Multithreaded Programs (ESOP
'09) |
Types for Atomicity:
Static Checking and Inference for Java (TOPLAS '08, appendix)
|
| Velodrome:
A
Sound
and Complete Dynamic Atomicity Checker for Multithreaded
Programs (PLDI '08) |
Proving
correctness
of
a dynamic atomicity analysis in Coq (Workshop on
Mechanizing Metatheory '08)
|
| Atomizer:
A
Dynamic
Atomicity Checker for Multithreaded Programs (Science
of Computer Programming '08) |
|
|
| Status
Report:
Specifying JavaScript with ML (ML’07) |
Cartesian
Partial-Order Reduction (SPIN '07)
|
|
Unifying Hybrid
Types and Contracts (TFP’07) |
|
Space
Efficient Gradual Typing (TFP’07) |
|
Type
Reconstruction
for General Refinement Types (ESOP’07, extended paper) |
|
|
|
Types
for
Safe Locking: Static Race Detection for Java
(TOPLAS’06) |
|
Hybrid Type Checking
(POPL’06) |
|
Automatic
Synchronization Correction (SCOOL’05) |
|
Modular
Verification
of Multithreaded Programs (TCS 2005) |
|
Extending
JML
for
Modular Specification and Verification of Multi-Threaded
Programs (ECOOP’05) |
|
Dynamic
Partial-Order
Reduction
for Model Checking Software (POPL’05) (addendum)
|
|
Exploiting
Purity
for
Atomicity (ISSTA'04 Distinguished Paper) |
|
Retrospective: The Essence of
Compiling with Continuations (Best of PLDI: 1979-1999) |
|
A
Type and Effect System for Atomicity (PLDI'03) |
|
Extended
Static
Checking
for Java (PLDI'02) |