• Publications
  • Influence
Safe futures for Java
TLDR
The definition and implementation of safe futures for Java are explored and it is indicated that for programs with modest mutation rates on shared data, applications can use futures to profitably exploit parallelism, without sacrificing safety.
Search with probabilistic guarantees in unstructured peer-to-peer networks
TLDR
The authors proved analytically, and demonstrated experimentally, that this scheme provides high probabilistic guarantees of success, while incurring minimal overhead, and performed no worse than the best known access-frequency based protocols.
Declarative programming over eventually consistent data stores
TLDR
QUELEA is presented, a declarative programming model for eventually consistent data stores (ECDS), equipped with a contract language, capable of specifying fine-grained application - level consistency properties, and an implementation of QUEleA on top of an off-the-shelf ECDS that provides support for coordination-free transactions.
A unified treatment of flow analysis in higher-order languages
TLDR
The framework makes explicit use of flow graphs for modeling control and data flow properties of untyped higher-order programs, and can express a hierarchy of analyses with different cost/accuracy tradeoffs.
A Uniform Transactional Execution Environment for Java
TLDR
This work implements a uniform transactional execution environment for Java programs in which transactions can be integrated with more traditional concurrency control constructs and freely combine abstractions that use both coding styles.
Path-Sensitive Inference of Function Precedence Protocols
TLDR
CHRONICLER is a tool that applies scalable inter-procedural path-sensitive static analysis to automatically infer accurate function precedence protocols, and highlights the importance of path sensitivity on accuracy and scalability.
Relaxed-memory concurrency and verified compilation
TLDR
The semantic design and verified compilation of a C-like programming language for concurrent shared-memory computation above x86 multiprocessors is considered and a strategy for verifying compilation from ClightTSO to x86 is discussed.
Preemptible atomic regions for real-time Java
TLDR
The results suggest that programs that use PARs, depending on their semantics, can run faster and experience less jitter than those that use locks.
CompCertTSO: A Verified Compiler for Relaxed-Memory Concurrency
TLDR
The semantic design and verified compilation of a C-like programming language for concurrent shared-memory computation on x86 multiprocessors is considered, and some verified fence-elimination optimizations, integrated into CompCertTSO are described.
...
1
2
3
4
5
...