The goal of this paper is to build an annotation framework of thread contracts, called Accord to argue that a parallel program has no data-races, and build accompanying verification and testing tools. Accord annotations allow programmers to declaratively specify the fine-grained parts of memory that a thread may read or write into, and the locks that protect them, and hence can be used to establish race-freedom. We show that this can be achieved using automatic constraint-solvers based on SMT-solvers. We also show how to compile Accord thread contracts to runtime assertions that check the contracts dynamically during testing. Furthermore, we explore static verification of annotation correctness for parallel programs, using a new an...
AbstractReasoning about multithreaded object-oriented programs is difficult, due to the non-local na...
This paper discusses how several concurrent program verification techniques can be combined in a lay...
One common technique for preventing data races in multi-threaded programs is to ensure that all a...
The goal of this paper is to build an annotation framework of thread contracts, called Accord to ar...
National audienceMultithreading is the next challenge for program verification. To support modular v...
Concurrency is a requirement for much modern software, but the implementation of multithreaded algor...
AbstractWe develop an improved grainless denotational semantics for shared-memory parallel programs,...
The use of synchronization mechanisms in multithreaded applications is essential on shared-memory mu...
AbstractWe present a trace semantics for a language of parallel programs which share access to mutab...
International audienceAvoiding access conflicts is a major challenge in the design of multi-threaded...
Avoiding access conflicts is a major challenge in the design of multi-threaded programs. In the cont...
International audienceThe programming language Mezzo is equipped with a rich type system that contro...
The rapid progress of multi/many-core architectures has caused data-intensive parallel applications ...
technical reportThis paper explores the practicality of conducting program analysis for multithread...
AbstractThis paper shows how one can easily transform K definitions of programming languages into ru...
AbstractReasoning about multithreaded object-oriented programs is difficult, due to the non-local na...
This paper discusses how several concurrent program verification techniques can be combined in a lay...
One common technique for preventing data races in multi-threaded programs is to ensure that all a...
The goal of this paper is to build an annotation framework of thread contracts, called Accord to ar...
National audienceMultithreading is the next challenge for program verification. To support modular v...
Concurrency is a requirement for much modern software, but the implementation of multithreaded algor...
AbstractWe develop an improved grainless denotational semantics for shared-memory parallel programs,...
The use of synchronization mechanisms in multithreaded applications is essential on shared-memory mu...
AbstractWe present a trace semantics for a language of parallel programs which share access to mutab...
International audienceAvoiding access conflicts is a major challenge in the design of multi-threaded...
Avoiding access conflicts is a major challenge in the design of multi-threaded programs. In the cont...
International audienceThe programming language Mezzo is equipped with a rich type system that contro...
The rapid progress of multi/many-core architectures has caused data-intensive parallel applications ...
technical reportThis paper explores the practicality of conducting program analysis for multithread...
AbstractThis paper shows how one can easily transform K definitions of programming languages into ru...
AbstractReasoning about multithreaded object-oriented programs is difficult, due to the non-local na...
This paper discusses how several concurrent program verification techniques can be combined in a lay...
One common technique for preventing data races in multi-threaded programs is to ensure that all a...