• Publications
  • Influence
The semantic foundations of concurrent constraint programming
TLDR
The basic ideas involved in giving a coherent semantic account of concurrent constraint programming are developed, including a simple and general formulation of the notion that a constraint system is a system of partial information. Expand
Automatic patch generation by learning correct code
TLDR
Experimental results show that, on a benchmark set of 69 real-world defects drawn from eight open-source projects, Prophet significantly outperforms the previous state-of-the-art patch generation system. Expand
An analysis of patch plausibility and correctness for generate-and-validate patch generation systems
TLDR
ClearView is presented, a generate-and-validate binary hot patching system that lever- ages learned invariants to produce patches that enable systems to survive otherwise fatal defects and security attacks. Expand
Information Flow Analysis of Android Applications in DroidSafe
TLDR
DroidSafe achieves unprecedented precision and accuracy for Android information flow analysis and detects all malicious information flow leaks inserted into 24 real-world Android applications by three independent, hostile Red-Team organizations. Expand
Staged program repair with condition synthesis
TLDR
SPR, a new program repair system that combines staged program repair and condition synthesis, is presented, to generate correct repairs for over five times as many defects as previous systems evaluated on the same benchmark set. Expand
Compositional pointer and escape analysis for Java programs
TLDR
A combined pointer and escape analysis algorithm for Java programs that uses the escape information to eliminate synchronization for objects that are accessed by only one thread and to allocate objects on the stack instead of in the heap. Expand
Managing performance vs. accuracy trade-offs with loop perforation
TLDR
The results indicate that, for a range of applications, this approach typically delivers performance increases of over a factor of two (and up to a factors of seven) while changing the result that the application produces by less than 10%. Expand
Automatically patching errors in deployed software
TLDR
Aspects of ClearView that make it particularly appropriate for this context include its ability to generate patches without human intervention, apply and remove patchesto and from running applications without requiring restarts or otherwise perturbing the execution, and identify and discard ineffective or damaging patches by evaluating the continued behavior of patched applications. Expand
Purity and Side Effect Analysis for Java Programs
TLDR
The analysis is built on top of a combined pointer and escape analysis, and is able to determine that methods are pure even when the methods mutate the heap, provided they mutate only new objects. Expand
Ownership types for safe programming: preventing data races and deadlocks
TLDR
A new static type system for multithreaded programs is presented; well-typed programs in the system are guaranteed to be free of data races and deadlocks. Expand
...
1
2
3
4
5
...