Cheap Remarks about Concurrent Programs

Michael Walker, Colin Runciman

Research output: Chapter in Book/Report/Conference proceedingConference contribution


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 languageEnglish
Title of host publicationProceedings of 14th International Symposium on Functional and Logic Programming
Number of pages15
Publication statusAccepted/In press - 22 Jan 2018


  • automated testing
  • refinement and equivalence
  • effects
  • declarative properties

Cite this