We describe a novel use of abstract interpretation in which the abstract domain informs a runtime system to correct synchronization failures. To this end, we first introduce a novel synchronization paradigm, dubbed corrective synchronization, that is a generalization of existing approaches to ensuring serializability. Specifically, the correctness of multi-threaded execution need not be enforced by previous methods that either reduce parallelism (pessimistic) or roll back illegal thread interleavings (optimistic); instead inadmissible states can be altered into admissible ones. In this way, the effects of inadmissible interleavings can be compensated for by modifying the program state as a transaction completes, while accounting for the beh...
Shared state access conflicts are one of the greatest sources of er-ror for fine grained parallelism...
AbstractTransient faults that arise in large-scale software systems can often be repaired by re-exec...
In this thesis we present a computer-aided programming approach to concurrency. Our approach helps t...
We describe a novel use of abstract interpretation in which the abstract domain informs a runtime sy...
Writing correct shared-memory concurrent programs is hard. Not only must a programmer reason about ...
We present a novel framework for automatic inference of efficient synchronization in concurrent prog...
In this paper we propose a technique to specify and verify the correct synchronization of concurrent...
Serializability is the traditional consistency criterion when shared objects are accessed concurrent...
A runtime analysis technique is presented, which can predict con-currency errors in multithreaded sy...
Synchronization is the coordination of concurrent processes that occurs in most complex software sys...
Manually detecting bugs in concurrent programs is hard due to the myriad of thread interleavings tha...
Atomicity is an important correctness condition for concurrent systems. Informally, atomicity is the...
Transactional memory simplifies multiprocessor programming by providing the guarantee that a sequent...
Transactional Memory (TM) provides programmers with a high-level and composable concurrency control ...
A runtime analysis technique is presented, which can predict concurrency errors in multithreaded sys...
Shared state access conflicts are one of the greatest sources of er-ror for fine grained parallelism...
AbstractTransient faults that arise in large-scale software systems can often be repaired by re-exec...
In this thesis we present a computer-aided programming approach to concurrency. Our approach helps t...
We describe a novel use of abstract interpretation in which the abstract domain informs a runtime sy...
Writing correct shared-memory concurrent programs is hard. Not only must a programmer reason about ...
We present a novel framework for automatic inference of efficient synchronization in concurrent prog...
In this paper we propose a technique to specify and verify the correct synchronization of concurrent...
Serializability is the traditional consistency criterion when shared objects are accessed concurrent...
A runtime analysis technique is presented, which can predict con-currency errors in multithreaded sy...
Synchronization is the coordination of concurrent processes that occurs in most complex software sys...
Manually detecting bugs in concurrent programs is hard due to the myriad of thread interleavings tha...
Atomicity is an important correctness condition for concurrent systems. Informally, atomicity is the...
Transactional memory simplifies multiprocessor programming by providing the guarantee that a sequent...
Transactional Memory (TM) provides programmers with a high-level and composable concurrency control ...
A runtime analysis technique is presented, which can predict concurrency errors in multithreaded sys...
Shared state access conflicts are one of the greatest sources of er-ror for fine grained parallelism...
AbstractTransient faults that arise in large-scale software systems can often be repaired by re-exec...
In this thesis we present a computer-aided programming approach to concurrency. Our approach helps t...