Integration testing of protocol implementations using symbolic distributed execution

  • Authors:
  • Raimondas Sasnauskas;Philipp Kaiser;Russ Lucas Jukic;Klaus Wehrle

  • Affiliations:
  • Communication and Distributed Systems (ComSys), RWTH Aachen University, Germany;Communication and Distributed Systems (ComSys), RWTH Aachen University, Germany;Communication and Distributed Systems (ComSys), RWTH Aachen University, Germany;Communication and Distributed Systems (ComSys), RWTH Aachen University, Germany

  • Venue:
  • ICNP '12 Proceedings of the 2012 20th IEEE International Conference on Network Protocols (ICNP)
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Automatism and high-coverage are the core challenges in testing communication protocols in their early development phase. Ideally, the testing process should cope with a large input space, several sources of non-determinism, and heterogeneous operating environments to effectively explore the emerging execution paths. In practice, however, the missing tool support imposes a huge amount of manual effort to perform integrated conformance and interoperability testing of protocol implementations. In this paper, we first detail on the protocol testing issues, such as low coverage, missing code and automation, we experienced during the lifetime of an university-industry project. Second, we present SymNet, an integrated testing environment which targets the latter limitations using state-of-the-art symbolic execution techniques. Our approach is to interconnect several virtual machines, execute each of them using selective symbolic execution, and centrally coordinate the emerging distributed execution paths. The key challenges are the synchronization of distributed constraints, detection of false positives, and pruning of redundant execution states. We detail on SymNet architecture, show its applicability to real-world protocol software, and discuss future research directions.