Lightweight snapshots and system-level backtracking
HotOS'13 Proceedings of the 14th USENIX conference on Hot Topics in Operating Systems
Hi-index | 0.00 |
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.