This paper presents Prut4j: a tool to simplify unit testing of channel/queue-based communication protocols in concurrent Java programs. Prut4j offers two domain-specific languages to write, compile (to Java), and execute (with JUnit) high-level "protocol modules" and accompanying unit tests. Our first evaluation provides evidence for Prut4j's expressiveness (network topologies, games, scientific kernels) and efficiency (Prut4j-based programs perform well in a third-party benchmark).

doi.org/10.1109/ICST49551.2021.00058
14th IEEE Conference on Software Testing, Verification and Validation, ICST 2021

Slob, F. J., & Jongmans, S. (2021). Prut4j: Protocol unit testing fo(u)r Java. In Proceedings of the 14th IEEE Conference on Software Testing, Verification and Validation, ICST 2021 (pp. 448–453). doi:10.1109/ICST49551.2021.00058