Send email Copy Email Address
2026-07-05

Testing Protocols with Formal Languages

Summary

Communication protocols involve stateful interactions between multiple parties, which makes systematic testing of their implementations challenging. Test inputs are not single messages, but sequences of syntactically and semantically dependent exchanges whose validity depends on prior communication and protocol state. This work proposes a protocol testing approach that systematically explores a protocol specification. We extend the specification format of fandango such that it is able to specify protocol state, syntax, and semantics within a single file. The format combines context-free grammars with Turing-complete constraints and role-annotated nonterminals to describe multi-party behavior and cross-message dependencies. Specifications are role-neutral and can be applied to any participant in the protocol. We applied our technique to dns, smtp, ftp, a rest-style api, and a ChatGPT interaction grammar. Initial results show that our approach is able to drive communication with a system under test and that the k-path-guided exploration technique quickly achieves coverage across grammar structure, inputs, outputs, and protocol state.

Conference Paper

European Software Engineering Conference and Symposium on the Foundations of Software Engineering (FSE-Companion)

Date published

2026-07-05

Date last modified

2026-08-05