论文标题

半自动化协议歧义和代码生成

Semi-Automated Protocol Disambiguation and Code Generation

论文作者

Yen, Jane, Lévai, Tamás, Ye, Qinyuan, Ren, Xiang, Govindan, Ramesh, Raghavan, Barath

论文摘要

几十年来,已经使用自然语言指定了互联网协议。鉴于此类文本中固有的歧义,协议实现长期以来表现出错误也就不足为奇了。在本文中,我们应用自然语言处理(NLP)来实现规范文本的半自动生成协议实现。我们的系统,鼠尾草可以在规格中发现模棱两可的句子;一旦Spec作者澄清了这些内容,SAGE就可以自动生成协议代码。使用SAGE,我们发现了5个模棱两可的实例和6个ICMP RFC中的6个实例;澄清后,Sage能够自动生成与Linux实现完美互动的代码。我们表明,Sage概括为BFD,IGMP和NTP。我们还发现,Sage支持关键协议中发现的许多概念组件,这表明,借助一些其他机械,Sage可能能够推广到TCP和BGP。

For decades, Internet protocols have been specified using natural language. Given the ambiguity inherent in such text, it is not surprising that protocol implementations have long exhibited bugs. In this paper, we apply natural language processing (NLP) to effect semi-automated generation of protocol implementations from specification text. Our system, SAGE, can uncover ambiguous or under-specified sentences in specifications; once these are clarified by the spec author, SAGE can generate protocol code automatically. Using SAGE, we discover 5 instances of ambiguity and 6 instances of under-specification in the ICMP RFC; after clarification, SAGE is able to automatically generate code that interoperates perfectly with Linux implementations. We show that SAGE generalizes to BFD, IGMP, and NTP. We also find that SAGE supports many of the conceptual components found in key protocols, suggesting that, with some additional machinery, SAGE may be able to generalize to TCP and BGP.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源