The specification of a concurrent program module, and the verification of implementations and clients with respect to such a specification, are difficult problems. A specification should be general enough that any reasonable implementation satisfies it, yet precise enough that it can be used by any reasonable client. We survey a range of techniques for specifying concurrent modules, using the example of a counter module to illustrate the benefits and limitations of each. In particular, we highlight four key concepts underpinning these techniques: auxiliary state, interference abstraction, resource ownership and atomicity. We demonstrate how these concepts can be combined to achieve two powerful approaches for specifying concurrent modules a...
AbstractWe present a runtime technique for checking that a concurrent implementation of a data struc...
. We propose a specification language for shared-variable concurrent programs based on Morgan's...
In this paper we introduce an abstract algebra for reasoning about concurrent programs, that include...
© 2015 Published by Elsevier B.V.The specification of a concurrent program module is a difficult pro...
The specification of a concurrent program module is a difficult problem. The specifications must be ...
Abstract. We look at approaches to specifying concurrent program modules based on disjointness (the ...
Despite recent advances in reasoning about concurrent data structure libraries, the largest implemen...
Formal methods are a useful tool for increasing the confidence in the correctness of computer progra...
International audienceModular static verification of concurrent object-oriented programs remains a c...
In this thesis, we address the problem of verifying the functional correctness of concurrent program...
In this paper we present a theory for the refinement of shared-memory concurrent algorithms from spe...
As the use of concurrent software is increasing, we urgently need techniques to establish the correc...
Modern concurrent and distributed software is highly complex. Techniques to reason about the correct...
Concurrent programming is notoriously difficult, but with multi-core processors becoming the norm, i...
Reasoning systems based on Concurrent Separation Logic make verifying complex concurrent algorithms ...
AbstractWe present a runtime technique for checking that a concurrent implementation of a data struc...
. We propose a specification language for shared-variable concurrent programs based on Morgan's...
In this paper we introduce an abstract algebra for reasoning about concurrent programs, that include...
© 2015 Published by Elsevier B.V.The specification of a concurrent program module is a difficult pro...
The specification of a concurrent program module is a difficult problem. The specifications must be ...
Abstract. We look at approaches to specifying concurrent program modules based on disjointness (the ...
Despite recent advances in reasoning about concurrent data structure libraries, the largest implemen...
Formal methods are a useful tool for increasing the confidence in the correctness of computer progra...
International audienceModular static verification of concurrent object-oriented programs remains a c...
In this thesis, we address the problem of verifying the functional correctness of concurrent program...
In this paper we present a theory for the refinement of shared-memory concurrent algorithms from spe...
As the use of concurrent software is increasing, we urgently need techniques to establish the correc...
Modern concurrent and distributed software is highly complex. Techniques to reason about the correct...
Concurrent programming is notoriously difficult, but with multi-core processors becoming the norm, i...
Reasoning systems based on Concurrent Separation Logic make verifying complex concurrent algorithms ...
AbstractWe present a runtime technique for checking that a concurrent implementation of a data struc...
. We propose a specification language for shared-variable concurrent programs based on Morgan's...
In this paper we introduce an abstract algebra for reasoning about concurrent programs, that include...