Combining Model Learning and Model Checking to Analyze TCP Implementations

P. Fiterau-Brostean, R. Janssen and F.W. Vaandrager. Combining Model Learning and Model Checking to Analyze TCP Implementations. In S. Chaudhuri and A. Farzan, editors. Proceedings CAV 2016, Toronto, Ontario, Canada, July 17-23, 2016. LNCS 9780, pp. 454-471, Springer, 2016.

Abstract

We combine model learning and model checking in a challenging case study involving Linux, Windows and FreeBSD implementations of TCP. We use model learning to infer models of different software components and then apply model checking to fully explore what may happen when these components (e.g. a Linux client and a Windows server) interact. Our analysis reveals several instances in which TCP implementations do not conform to their RFC specifications.

Local copy (pdf)
Published version
Models and code