Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

Model Checking Large Network Protocol Implementations

Network protocols must work. The effects of protocol specification or implementation errors range from reduced performance, to security breaches, to bringing down entire networks. However, network protocols are difficult to test due to the exponential size of the state space they define. Ideally, a protocol implementation must be validated against all possible events (packet arrivals, packet losses, timeouts, etc.) in all possible protocol states. Conventional means of testing can explore only a minute fraction of these possible combinations.

This paper focuses on how to effectively find errors in large network protocol implementations using model checking, a formal verification technique. Model checking involves a systematic exploration of the possible states of a system, and is well-suited to finding intricate errors lurking deep in exponential state spaces. Its primary limitation has been the effort needed to use it on software. The primary contribution of this paper are novel techniques that allow us to model check complex, real-world, well-tested protocol implementations with reasonable effort. We have implemented these techniques in CMC, a C model checker and applied the result to the Linux TCP/IP implementation, finding four errors in the protocol implementation.

Madanlal Musuvathi, Stanford University

Dawson R. Engler, Stanford University

BibTeX
@inproceedings {270034,
author = {Madanlal Musuvathi and Dawson R. Engler},
title = {Model Checking Large Network Protocol Implementations},
booktitle = {First Symposium on Networked Systems Design and Implementation (NSDI 04)},
year = {2004},
address = {San Francisco, CA},
url = {https://www.usenix.org/conference/nsdi-04/model-checking-large-network-protocol-implementations},
publisher = {USENIX Association},
month = mar
}
Download

Links

Paper: 
http://usenix.org/publications/library/proceedings/nsdi04/tech/full_papers/musuvathi/musuvathi.pdf
Paper (HTML): 
http://usenix.org/publications/library/proceedings/nsdi04/tech/full_papers/musuvathi/musuvathi_html/index.html
  • Log in or register to post comments

© USENIX
EIN 13-3055038

  • Privacy Policy
  • Contact Us