Despite recent advances in reasoning about concurrent data structure libraries, the largest implementations in java.util.concurrent have yet to be verified. The key issue lies in the development of modular specifications, which provide clear logical boundaries between clients and implementations. A solution is to use recent advances in fine-grained con- currency reasoning, in particular the introduction of abstract atomicity to concurrent separation logic reasoning. We present two specifications of concurrent maps, both providing the clear boundaries we seek. We show that these specifications are equivalent, in that they can be built from each other. We show how we can verify client programs, such as a concurrent set and a producer-consumer...
The specification of a concurrent program module is a difficult problem. The specifications must be ...
In this thesis, we address the problem of verifying the functional correctness of concurrent program...
We present a trace semantics for a language of parallel programs which share access to mutable data....
Despite recent advances in reasoning about concurrent data structure libraries, the largest implemen...
Abstract. Mainstream programming languages offer libraries of concur-rent data structures. Each meth...
Specification and verification techniques for abstract data types that have been successful for sequ...
© 2014 The Authors.We study abstract local reasoning for concurrent libraries. There are two main ap...
Abstract — The Java programming language supports con-currency. Concurrent programs are harder to ve...
Digital services are becoming an essential part of our daily lives. To provide these services, effic...
This thesis explores the challenges in abstract library specification, library refinement and reason...
This paper describes how concurrency, distribution and object orientation can be expressed in map th...
International audienceWith the advent of parallel architectures, distributed programs are used inten...
AbstractEvolving and refactoring concurrent Java software can be error-prone, resulting in race cond...
Abstract We provide a parametric framework for verifying safety properties of concurrent Java progra...
This paper describes the first results and on-going work in the VerCors project. The VerCors project...
The specification of a concurrent program module is a difficult problem. The specifications must be ...
In this thesis, we address the problem of verifying the functional correctness of concurrent program...
We present a trace semantics for a language of parallel programs which share access to mutable data....
Despite recent advances in reasoning about concurrent data structure libraries, the largest implemen...
Abstract. Mainstream programming languages offer libraries of concur-rent data structures. Each meth...
Specification and verification techniques for abstract data types that have been successful for sequ...
© 2014 The Authors.We study abstract local reasoning for concurrent libraries. There are two main ap...
Abstract — The Java programming language supports con-currency. Concurrent programs are harder to ve...
Digital services are becoming an essential part of our daily lives. To provide these services, effic...
This thesis explores the challenges in abstract library specification, library refinement and reason...
This paper describes how concurrency, distribution and object orientation can be expressed in map th...
International audienceWith the advent of parallel architectures, distributed programs are used inten...
AbstractEvolving and refactoring concurrent Java software can be error-prone, resulting in race cond...
Abstract We provide a parametric framework for verifying safety properties of concurrent Java progra...
This paper describes the first results and on-going work in the VerCors project. The VerCors project...
The specification of a concurrent program module is a difficult problem. The specifications must be ...
In this thesis, we address the problem of verifying the functional correctness of concurrent program...
We present a trace semantics for a language of parallel programs which share access to mutable data....