Multithreaded programs are notoriously prone to synchronization errors. Much prior work has tackled the problem of detecting such errors. This paper focuses on the subsequent problem of synchronization correction. We present a constraint-based analysis that, given an erroneous program, automatically infers (where possible) what additional locking operations should be inserted in order to yield a correctly-synchronized program. For performance reasons, our algorithm also attempts to minimize the number of additional lock acquires and the duration for which the acquired locks are held. We present experimental results that validate this approach on a number of standard Java library classes
Programs written in concurrent object-oriented languages, especially ones that employ threadsafe reu...
International audienceDeadlock analysis of multi-threaded programs with reentrant locks is complex b...
Multithreaded programming is difficult and error prone. Multithreaded programs typically synchronize...
AbstractIn this paper, we describe three novel analyses for eliminating unnecessary synchronization ...
We present a modular approach for verification of synchronization behavior in concurrent programs th...
This paper presents and evaluates a set of analyses designed to reduce synchronization overhead in J...
Abstract Language-supported synchronization is a source of serious performance problems in Java prog...
Many existing refactoring tools reduce the possibility of lock conflicts and improve the concurrency...
In multiprocessor systems with weakly consistent shared memory, memory fence (also know as barrier) ...
In this paper we propose a technique to specify and verify the correct synchronization of concurrent...
Synchronisation classes are an important building block for shared memory concurrent programs. Thus ...
In multiprocessor systems with weakly consistent shared memory, memory fence (also know as barrier) ...
Abstract. Concurrent data accesses in high-level languages like Java and C # are typically mediated ...
This paper discusses formal specification and verification of the synchronisation classes of the Jav...
We describe a novel use of abstract interpretation in which the abstract domain informs a runtime sy...
Programs written in concurrent object-oriented languages, especially ones that employ threadsafe reu...
International audienceDeadlock analysis of multi-threaded programs with reentrant locks is complex b...
Multithreaded programming is difficult and error prone. Multithreaded programs typically synchronize...
AbstractIn this paper, we describe three novel analyses for eliminating unnecessary synchronization ...
We present a modular approach for verification of synchronization behavior in concurrent programs th...
This paper presents and evaluates a set of analyses designed to reduce synchronization overhead in J...
Abstract Language-supported synchronization is a source of serious performance problems in Java prog...
Many existing refactoring tools reduce the possibility of lock conflicts and improve the concurrency...
In multiprocessor systems with weakly consistent shared memory, memory fence (also know as barrier) ...
In this paper we propose a technique to specify and verify the correct synchronization of concurrent...
Synchronisation classes are an important building block for shared memory concurrent programs. Thus ...
In multiprocessor systems with weakly consistent shared memory, memory fence (also know as barrier) ...
Abstract. Concurrent data accesses in high-level languages like Java and C # are typically mediated ...
This paper discusses formal specification and verification of the synchronisation classes of the Jav...
We describe a novel use of abstract interpretation in which the abstract domain informs a runtime sy...
Programs written in concurrent object-oriented languages, especially ones that employ threadsafe reu...
International audienceDeadlock analysis of multi-threaded programs with reentrant locks is complex b...
Multithreaded programming is difficult and error prone. Multithreaded programs typically synchronize...