Model-Based Testing of Networked Applications

01/31/2021
by   Yishuai Li, et al.
0

We present a rigorous framework for automatically testing application-layer protocols. The key innovation is a domain-specific embedded language for writing nondeterministic models of the behavior of networked servers. These models are defined in Gallina, the language of the Coq interactive theorem prover, supporting a smooth transition from testing to formal verification. Given a server model, we show how to automatically derive a testing program that probes the server for unexpected behaviors. We address the uncertainties caused by both the server's internal choices and the network delaying messages nondeterministically. The derived tester accepts server implementations whose possible behaviors are a subset of those allowed by the nondeterministic model. We demonstrate the effectiveness of this framework by using it to specify and test a fragment of HTTP/1.1, showing that the automatically derived tester can capture RFC violations in buggy server implementations, including the latest versions of Apache and Nginx.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/29/2018

From C to Interaction Trees: Specifying, Verifying, and Testing a Networked Server

We present the first formal verification of a networked server implement...
research
10/03/2022

Testing by Dualization

Software engineering requires rigorous testing to guarantee the product'...
research
03/22/2022

Quickstrom: Property Based Acceptance Testing with LTL Specifications

We present Quickstrom, a property-based testing system for acceptance te...
research
04/11/2018

Modeling and Testing Implementations of Protocols with Complex Messages

This paper presents a new language called APSL for formally describing p...
research
07/05/2018

Practical and Scalable Security Verification of Secure Architectures

We present a new and practical framework for security verification of se...
research
03/11/2019

State machine inference of QUIC

QUIC is a recent transport protocol that provides reliable, secure and q...

Please sign up or login with your details

Forgot password? Click here to reset