SENov 29, 2018

Interoperability-Guided Testing of QUIC Implementations using Symbolic Execution

arXiv:1811.12099v111 citations
Originality Incremental advance
AI Analysis

This work addresses interoperability testing for network protocol implementations, which is crucial for developers and users of QUIC, but it is incremental as it builds on existing symbolic execution techniques.

The paper tackled the problem of ensuring interoperability between QUIC implementations by developing a symbolic execution-based method to find interoperability issues, and in a case study analyzing picoquic and QUANT, it uncovered several bugs but noted that efficient testing requires implementations to provide additional protocol state information.

The main reason for the standardization of network protocols, like QUIC, is to ensure interoperability between implementations, which poses a challenging task. Manual tests are currently used to test the different existing implementations for interoperability, but given the complex nature of network protocols, it is hard to cover all possible edge cases. State-of-the-art automated software testing techniques, such as Symbolic Execution (SymEx), have proven themselves capable of analyzing complex real-world software and finding hard to detect bugs. We present a SymEx-based method for finding interoperability issues in QUIC implementations, and explore its merit in a case study that analyzes the interoperability of picoquic and QUANT. We find that, while SymEx is able to analyze deep interactions between different implementations and uncovers several bugs, in order to enable efficient interoperability testing, implementations need to provide additional information about their current protocol state.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes