We present CoCo, the Concurrency Commentator, a tool that recovers a declarative view of concurrent Haskell functions operating on some shared state. This declarative view is presented as a collection of automatically discovered properties. These properties are about refinement and equivalence of effects, rather than equality of final results. The tool is based on testing in a dynamically pruned search-space, rather than static analysis or theorem proving. Case studies about concurrent stacks and semaphores demonstrate how use of CoCo can inform understanding of program behaviour
We present a lightweight approach to Hoare-style specifications for fine-grained concurrency, based ...
In this paper we analyze the semantics of a higher-order functional language with concurrent threads...
Testing concurrent systems requires exploring all possible non-deterministic interleavings that the ...
We aim to make it easier for programmers to write correct concurrent programs and to demonstrate tha...
This article demonstrates how a powerful and expressive abstraction from concurrency theory plays a ...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Thesis (Ph.D.)--University of Washington, 2014This dissertation proposes a family of techniques for ...
We propose a model for measuring the runtime of concurrent programs by the minimal number of evaluat...
The calculus CHF models Concurrent Haskell extended by concurrent, implicit futures. It is a process...
The lock-based shared memory model has proven to be error prone and difficult to test. Furthermore a...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
There is a large body of work on concurrent reasoning including Rely-Guarantee (RG) and Concurrent S...
AbstractIn this article we use model checking techniques to debug Concurrent Haskell programs. LTL f...
Various concurrency primitives have been added to sequential programming languages, in order to turn...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
We present a lightweight approach to Hoare-style specifications for fine-grained concurrency, based ...
In this paper we analyze the semantics of a higher-order functional language with concurrent threads...
Testing concurrent systems requires exploring all possible non-deterministic interleavings that the ...
We aim to make it easier for programmers to write correct concurrent programs and to demonstrate tha...
This article demonstrates how a powerful and expressive abstraction from concurrency theory plays a ...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Thesis (Ph.D.)--University of Washington, 2014This dissertation proposes a family of techniques for ...
We propose a model for measuring the runtime of concurrent programs by the minimal number of evaluat...
The calculus CHF models Concurrent Haskell extended by concurrent, implicit futures. It is a process...
The lock-based shared memory model has proven to be error prone and difficult to test. Furthermore a...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
There is a large body of work on concurrent reasoning including Rely-Guarantee (RG) and Concurrent S...
AbstractIn this article we use model checking techniques to debug Concurrent Haskell programs. LTL f...
Various concurrency primitives have been added to sequential programming languages, in order to turn...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
We present a lightweight approach to Hoare-style specifications for fine-grained concurrency, based ...
In this paper we analyze the semantics of a higher-order functional language with concurrent threads...
Testing concurrent systems requires exploring all possible non-deterministic interleavings that the ...