Abstract
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.
Original language | English |
---|---|
Title of host publication | Proceedings of 14th International Symposium on Functional and Logic Programming |
Publisher | Springer |
Number of pages | 15 |
Publication status | Accepted/In press - 22 Jan 2018 |
Keywords
- automated testing
- refinement and equivalence
- effects
- declarative properties