Semi-automated protocol disambiguation and code generation

Semi-automated protocol disambiguation and code generation
复制标题

DOI:
10.1145/3452296.3472910
复制
发表时间:
2020-10
期刊:
Proceedings of the 2021 ACM SIGCOMM 2021 Conference
影响因子:
--
通讯作者:
Jane Yen;Tam'as L'evai;Qinyuan Ye;Xiang Ren;R. Govindan;B. Raghavan
Jane Yen;Tam'as L'evai;Qinyuan Ye;Xiang Ren;R. Govindan;B. Raghavan
中科院分区:
其他
文献类型:
--
作者:
Jane Yen;Tam'as L'evai;Qinyuan Ye;Xiang Ren;R. Govindan;B. Raghavan

文献摘要

被引文献

相似文献

几十年来,互联网协议一直是使用自然语言来指定的。考虑到此类文本固有的模糊性,协议实现长期以来一直存在错误也就不足为奇了。在本文中,我们应用自然语言处理(NLP)来实现从规范文本半自动生成协议实现。我们的系统SAGE可以发现规范中不明确或未指定的语句;一旦这些语句被协议规范的作者澄清,SAGE就可以自动生成协议代码。使用Sage,我们在ICMP RFC中发现了5个模棱两可的实例和6个不符合规范的实例;在修复这些问题之后,Sage能够自动生成与Linux实现完美互操作的代码。我们展示了Sage对BFD、IGMP和NTP部分的概括,并确定了Sage需要支持的其他概念组件,以将其概括为完整、复杂的协议,如BGP和TCP。
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 author of the protocol specification, 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 fixing these, Sage is able to automatically generate code that interoperates perfectly with Linux implementations. We show that Sage generalizes to sections of BFD, IGMP, and NTP and identify additional conceptual components that Sage needs to support to generalize to complete, complex protocols like BGP and TCP.