Extended Berkeley Packet Filter (BPF) is a language and run-time system that allows non-superusers to extend the Linux and Windows operating systems by downloading user code into the kernel. To ensure that user code is safe to run in kernel context, BPF relies on a static analyzer that proves properties about the code, such as bounded memory access and the absence of operations that crash. The BPF static analyzer checks safety using abstract interpretation with several abstract domains. Among these, the domain of tnums (tristate numbers) is a key domain used to reason about the bitwise uncertainty in program values. This paper formally specifies the tnum abstract domain and its arithmetic operators. We provide the first proofs of soundness and optimality of the abstract arithmetic operators for tnum addition and subtraction used in the BPF analyzer. Further, we describe a novel sound algorithm for multiplication of tnums that is more precise and efficient (runs 33% faster on average) than the Linux kernel's algorithm. Our tnum multiplication is now merged in the Linux kernel.


翻译:伯克利扩展包件过滤器( BPF) 是一种语言和运行时间系统, 允许非超级用户通过将用户代码下载到内核, 扩展 Linux 和 Windows 操作系统。 为确保用户代码在内核环境中运行安全, BPF 依赖于静态分析器, 以证明代码的属性, 如连接内存访问和崩溃时没有操作 。 BPF 静态分析器使用若干抽象域进行抽象解释, 检查安全性。 其中, tnums 域( 三角数) 是一个关键域, 用来解释程序值中比错误的不确定性。 本文正式指定了调子抽象域及其算术操作员 。 我们提供了抽象算术操作员在 BPF 分析器中使用的 tnuum 添加和减法 的正确性和最佳性的初步证明 。 此外, 我们描述比 Linux 内核内核算法更精确、更高效的倍性新声音算法( 平均跑33% ) 。 我们的倍增法现已合并成 Linux 。

0
下载
关闭预览

相关内容

牛津大学最新《计算代数拓扑》笔记书,107页pdf
专知会员服务
42+阅读 · 2022年2月17日
【硬核书】矩阵代数基础,248页pdf
专知会员服务
85+阅读 · 2021年12月9日
知识图谱上的神经和符号逻辑推理,99页ppt
专知会员服务
110+阅读 · 2020年12月17日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
78+阅读 · 2020年7月26日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
152+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
分布式并行架构Ray介绍
CreateAMind
9+阅读 · 2019年8月9日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
【TED】什么让我们生病
英语演讲视频每日一推
7+阅读 · 2019年1月23日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
【NIPS2018】接收论文列表
专知
5+阅读 · 2018年9月10日
ERROR: GLEW initalization error: Missing GL version
深度强化学习实验室
9+阅读 · 2018年6月13日
已删除
将门创投
4+阅读 · 2018年5月31日
【推荐】YOLO实时目标检测(6fps)
机器学习研究会
20+阅读 · 2017年11月5日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
Arxiv
0+阅读 · 2022年2月17日
Interpretable Active Learning
Arxiv
3+阅读 · 2018年6月24日
Arxiv
6+阅读 · 2018年2月8日
Arxiv
8+阅读 · 2018年1月30日
Arxiv
4+阅读 · 2017年11月14日
VIP会员
相关VIP内容
牛津大学最新《计算代数拓扑》笔记书,107页pdf
专知会员服务
42+阅读 · 2022年2月17日
【硬核书】矩阵代数基础,248页pdf
专知会员服务
85+阅读 · 2021年12月9日
知识图谱上的神经和符号逻辑推理,99页ppt
专知会员服务
110+阅读 · 2020年12月17日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
78+阅读 · 2020年7月26日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
152+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
相关资讯
分布式并行架构Ray介绍
CreateAMind
9+阅读 · 2019年8月9日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
【TED】什么让我们生病
英语演讲视频每日一推
7+阅读 · 2019年1月23日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
【NIPS2018】接收论文列表
专知
5+阅读 · 2018年9月10日
ERROR: GLEW initalization error: Missing GL version
深度强化学习实验室
9+阅读 · 2018年6月13日
已删除
将门创投
4+阅读 · 2018年5月31日
【推荐】YOLO实时目标检测(6fps)
机器学习研究会
20+阅读 · 2017年11月5日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
相关论文
Arxiv
0+阅读 · 2022年2月17日
Interpretable Active Learning
Arxiv
3+阅读 · 2018年6月24日
Arxiv
6+阅读 · 2018年2月8日
Arxiv
8+阅读 · 2018年1月30日
Arxiv
4+阅读 · 2017年11月14日
Top
微信扫码咨询专知VIP会员