We present P4Testgen, a test oracle for the P4-16 language that supports automatic test generation for any P4 target. Unlike prior tools, which were tailored to specific programs and targets, P4Testgen is designed to be general and extensible. It models the complete semantics of the entire packet-processing pipeline including the P4 language, architectures and externs, and target-specific extensions. Handling aspects of packet processing that lie outside of the official language specification is critical for supporting real-world targets. P4Testgen uses taint tracking and concolic execution to handle non-deterministic behaviors and complex externs (e.g., checksums and hash functions) and it provides path selection strategies that reduce the number of tests required to achieve full coverage. We have instantiated P4Testgen for the V1model, eBPF, and Tofino architectures. Each extension required effort commensurate with the complexity of the target. We validated the tests generated by P4Testgen by running them across the entire P4C test suite as well as the programs supplied with the Tofino P4 Studio. Using the tool, we have confirmed 28 bugs in the mature, production toolchains for BMv2 and Tofino.


翻译:我们提出P4Testgen,一个针对P4-16语言的测试预言,支持为任意P4目标自动生成测试。与以往针对特定程序和目标定制的工具不同,P4Testgen被设计为通用且可扩展。它建模了整个数据包处理管线的完整语义,包括P4语言、架构和外部模块,以及目标特定的扩展。处理位于官方语言规范之外的包处理方面,对于支持真实世界目标至关重要。P4Testgen利用污点追踪和混成执行来处理非确定性行为和复杂外部模块(例如校验和与哈希函数),并提供路径选择策略,以减少实现完全覆盖所需的测试数量。我们已为V1model、eBPF和Tofino架构实例化了P4Testgen。每个扩展所需的投入与目标的复杂度相当。我们通过在完整的P4C测试套件以及Tofino P4 Studio附带的程序上运行P4Testgen生成的测试,对其进行了验证。使用该工具,我们在成熟的BMv2和Tofino生产工具链中确认了28个缺陷。

0
下载
关闭预览

相关内容

100+篇《自监督学习(Self-Supervised Learning)》论文最新合集
专知会员服务
167+阅读 · 2020年3月18日
强化学习最新教程,17页pdf
专知会员服务
182+阅读 · 2019年10月11日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
105+阅读 · 2019年10月9日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
Unsupervised Learning via Meta-Learning
CreateAMind
44+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
LibRec 精选:推荐系统的论文与源码
LibRec智能推荐
14+阅读 · 2018年11月29日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
15+阅读 · 2017年11月16日
【推荐】用Tensorflow理解LSTM
机器学习研究会
36+阅读 · 2017年9月11日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Arxiv
0+阅读 · 2023年4月24日
Arxiv
0+阅读 · 2023年4月22日
Heart Rate Extraction from Abdominal Audio Signals
Arxiv
1+阅读 · 2023年4月21日
VIP会员
最新内容
2025年全球二十起重大无人机作战事件
专知会员服务
3+阅读 · 6月27日
现代战争的隐蔽系统:伊朗战争十大启示
专知会员服务
5+阅读 · 6月27日
ICML 2026 | 自回归Boltzmann生成器重塑分子采样
专知会员服务
5+阅读 · 6月26日
GNN跨域综述:从消息传递到图基础模型
专知会员服务
8+阅读 · 6月26日
无人机自主控制与人工智能:系统性综述
专知会员服务
15+阅读 · 6月26日
巡飞弹与反无人机系统——现代战场的两大支柱
《打造“黄金舰队”》57页报告
专知会员服务
4+阅读 · 6月26日
《北约数字教官网络发展路径》128页报告
专知会员服务
3+阅读 · 6月26日
ECCV 2026 | MIMFlow:MIM与归一化流统一图像生成
专知会员服务
8+阅读 · 6月25日
网状网络及其在军事领域的运用
专知会员服务
9+阅读 · 6月25日
无美国参与的欧洲战争方式(万字长文)
专知会员服务
8+阅读 · 6月25日
相关资讯
VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
Unsupervised Learning via Meta-Learning
CreateAMind
44+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
LibRec 精选:推荐系统的论文与源码
LibRec智能推荐
14+阅读 · 2018年11月29日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
15+阅读 · 2017年11月16日
【推荐】用Tensorflow理解LSTM
机器学习研究会
36+阅读 · 2017年9月11日
相关基金
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员