Model checking on inferred TCP-models

Ramon Janssen

Radboud University

Model checking is a powerful technique for finding errors in specifications and implementations. Models of separate systems can be easily composed into networks, and required properties can be checked automatically. But models are often handwritten, which makes it difficult to ensure that such models correspond with the behavior of the system they describe. We can solve this problem with automata learning, which yields models by directly interacting with the system, thereby learning its behavior.

We have used this approach to learn models of TCP clients and servers in an automated way. Normally, the number of possible values for parameters in TCP packets is too large for learning or model checking. By means of parameter abstraction we reduce this number for the sequence and acknowledgement numbers. This reduces the size of the model, so that the learning of these systems can be performed efficiently.

The resulting models are then imported into a model checker. By reversing the abstraction in the model checker, we check a model with concrete parameters, which behaves like the real-world system. By combining models of servers and clients of different operating systems, we verify that all outputs generated by the client are accepted by the server, and vice versa.

Ramon_Janssen_testdag_2015.pdf

Language

  • Nederlands
  • English (UK)

Huidige Editie

Ook een keer De Nederlandse Testdag organiseren? Neem contact op met de stuurgroep.

Wat is De Nederlandse Testdag?

'De Nederlandse Testdag' is een conferentie over alle aspecten van software testen waarbij wetenschap, onderwijs en bedrijfsleven elkaar ontmoeten om nieuwe ideeën en inzichten te delen.

Contactgegevens

Organisatie Testdag 2015: testdag2015@testdag.nl
Website administrator: webmaster@testdag.nl