[ The Types Forum, http://lists.seas.upenn.edu/mailman/listinfo/types-list ]

We are glad to announce the first release of Java Typestate Checker (JaTyC [1]), a tool to statically check that class methods are called in a prescribed order, specified in a protocol file associated with that class. Our tool ensures that client code conforms to the specification, guaranteeing protocol compliance and completion.

Our teams, composed by Lorenzo Bacchiani and Mario Bravetti from the Bologna University (Italy), and by Marco Giunti, João Mota and António Ravara from the NOVA School of Science and Technology (Portugal), have joined forces and, building on previous work of each team, developed support for subtyping. In particular, this has been done by adapting a synchronous subtyping algorithm (with error detection) used in the general synchronous/asynchronous session subtyping tool presented in [2]. Our typestate checker can now safely handle polymorphic code, although in this first version in a limited way.

You can find a quick installation guide at https://urldefense.com/v3/__https://github.com/jdmota/java-typestate-checker__;!!IBzWLUs!D49C1U2m4kDdL_vDqxPSXoh_enomFqulAw4YpasAQ8bFJo1aVIuvKSoeGO_dl-F-HC9mWn7f-vI$ and further documentation at https://urldefense.com/v3/__https://github.com/jdmota/java-typestate-checker/wiki/Documentation__;!!IBzWLUs!D49C1U2m4kDdL_vDqxPSXoh_enomFqulAw4YpasAQ8bFJo1aVIuvKSoeGO_dl-F-HC9mDVV4mdI$ .

Feel free to send us feedback on your experience working with this tool.

Warm regards,
António (also on behalf of João, Lorenzo, Marco, and Mario)


[1] Mota, João, Marco Giunti, and António Ravara. “Java Typestate Checker”, in Proc. of COORDINATION 2021, LNCS 12717, Springer 2021 https://urldefense.com/v3/__https://doi.org/10.1007/978-3-030-78142-2_8__;!!IBzWLUs!D49C1U2m4kDdL_vDqxPSXoh_enomFqulAw4YpasAQ8bFJo1aVIuvKSoeGO_dl-F-HC9m8o0FOmQ$ [2] Bacchiani, L., Bravetti, M., Lange, J., Zavattaro, G.: “A Session Subtyping Tool”, in Proc. of COORDINATION 2021, LNCS 12717, Springer 2021 https://urldefense.com/v3/__https://doi.org/10.1007/978-3-030-78142-2_6__;!!IBzWLUs!D49C1U2m4kDdL_vDqxPSXoh_enomFqulAw4YpasAQ8bFJo1aVIuvKSoeGO_dl-F-HC9mbpsM0L4$ Tool source files for Linux, Windows and OSx (and binaries for Windows and OSx). https://urldefense.com/v3/__https://github.com/LBacchiani/session-subtyping-tool__;!!IBzWLUs!D49C1U2m4kDdL_vDqxPSXoh_enomFqulAw4YpasAQ8bFJo1aVIuvKSoeGO_dl-F-HC9mewOnkXI$

Reply via email to