Semi-Automated Protocol Disambiguation and Code Generation

10/09/2020
by   Jane Yen, et al.
0

For decades, Internet protocols have been specified using natural language. Given the ambiguity inherent in such text, it is not surprising that over the years protocol implementations exhibited bugs and non-interoperabilities. In this paper, we explore to what extent natural language processing (NLP), an area that has made impressive strides in recent years, can be used to generate protocol implementations. We advocate a semi-automated protocol generation approach, Sage, that can be used to uncover ambiguous or under-specified sentences in specifications; these can then be fixed by a human iteratively until Sage is able to generate protocol code automatically. Using an implementation of Sage, we discover 5 instances of ambiguity and 6 instances of under-specification in the ICMP RFC, after fixing which Sage is able to generate code automatically that interoperates perfectly with Linux implementations. We demonstrate the ability to generalize Sage to parts of IGMP and NTP. We also find that Sage supports half of the conceptual components found in major standards protocols; this suggests that, with some additional machinery, Sage may be able to generalize to TCP and BGP.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/02/2019

RecordFlux: Formal Message Specification and Generation of Verifiable Binary Parsers

Various vulnerabilities have been found in message parsers of protocol i...
research
03/04/2022

A Theory of Protocol Composition

Real-world communication protocols are often built out of a number of si...
research
11/14/2021

Prognosis: Closed-Box Analysis of Network Protocol Implementations

We present Prognosis, a framework offering automated closed-box learning...
research
08/07/2023

From Ambiguity to Explicitness: NLP-Assisted 5G Specification Abstraction for Formal Analysis

Formal method-based analysis of the 5G Wireless Communication Protocol i...
research
03/11/2019

State machine inference of QUIC

QUIC is a recent transport protocol that provides reliable, secure and q...
research
08/31/2022

Simulating BFT Protocol Implementations at Scale

The novel blockchain generation of Byzantine fault-tolerant (BFT) state ...
research
04/06/2022

Stateful Greybox Fuzzing

Many protocol implementations are reactive systems, where the protocol p...

Please sign up or login with your details

Forgot password? Click here to reset