🤖 AI Summary
Verifying protocol conformance in distributed heterogeneous systems—such as cloud–IoT environments—faces fundamental challenges due to cross-language, cross-type (including physical devices) message-passing protocols; conventional approaches rely on assumptions of uniform languages or type systems, limiting applicability. Method: We propose the first language-agnostic formal verification framework, based on labeled transition systems. We mechanize, for the first time in Coq, a logical relation supporting arbitrary labeled transition semantics—enabling unified behavioral modeling of typed/untyped software entities and real-world peripherals. Contribution/Results: The framework supports both instance-level fine-grained verification and type-system-level one-time verification. Experiments demonstrate that our approach eliminates implementation-language dependence, yielding the first provably correct, scalable, and general foundational solution for protocol conformance in heterogeneous systems.
📝 Abstract
Today's computing landscape has been gradually shifting to applications targeting distributed and *heterogeneous* systems, such as cloud computing and Internet of Things (IoT) applications. These applications are predominantly *concurrent*, employ *message-passing*, and interface with *foreign objects*, ranging from externally implemented code to actual physical devices such as sensors. Verifying that the resulting systems adhere to the intended protocol of interaction is challenging -- the usual assumption of a common implementation language, let alone a type system, no longer applies, ruling out any verification method based on them. This paper develops a framework for certifying *protocol compliance* of heterogeneous message-passing systems. It contributes the first mechanization of a *language-agnostic logical relation*, asserting that its inhabitants comply with the protocol specified. This definition relies entirely on a labelled transition-based semantics, accommodating arbitrary inhabitants, typed and untyped alike, including foreign objects. As a case study, the paper considers two scenarios: (1) *per-instance verification* of a specific application or hardware device, and (2) *once-and-for-all verification* of well-typed applications for a given type system. The logical relation and both scenarios are mechanized in the Coq theorem prover.