We present Oven: a toolset to assure safety and liveness of communication protocols among threads in concurrent programs in Scala. Oven is the first practical toolset that is built on top of new theoretical foundations of synthetic behavioural type analysis, recently developed by us to improve the expressiveness of existing work. We explain Oven's usage, summarise its design and implementation (main challenge: how to encode the new synthetic behavioural typing rules in Scala's existing type system), and discuss a preliminary evaluation of expressiveness (the results provide first evidence that Oven is an improvement over two state-of-the-art tools).

, ,
doi.org/10.1145/3597926.3604926
32nd ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2023
Centrum Wiskunde & Informatica, Amsterdam (CWI), The Netherlands

Ferreira, F., & Jongmans, S. (2023). Oven: Safe and live communication protocols in Scala, using synthetic behavioural type analysis. In Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2023 (pp. 1511–1514). doi:10.1145/3597926.3604926