Symbolic execution (SE) tools often rely on intermediate languages (ILs) to support multiple programming languages, promising reusability and efficiency. In practice, this approach introduces trade-offs between performance, accuracy, and language feature support. We argue that building SE engines \emph{directly} for each source language is both simpler and more effective. We present Soteria, a lightweight OCaml library for writing SE engines in a functional style, without compromising on performance, accuracy or feature support. Soteria enables developers to construct SE engines that operate directly over source-language semantics, offering \emph{configurability}, compositional reasoning, and ease of implementation. Using Soteria, we develop Soteria$^{\text{Rust}}$, the \emph{first} Rust SE engine supporting Tree Borrows (the intricate aliasing model of Rust), and Soteria$^{\text{C}}$, a compositional SE engine for C. Both tools are competitive with or outperform state-of-the-art tools such as Kani, Pulse, CBMC and Gillian-C in performance and the number of bugs detected. We formalise the theoretical foundations of Soteria and prove its soundness, demonstrating that sound, efficient, accurate, and expressive SE can be achieved without the compromises of ILs.


翻译:符号执行(SE)工具常依赖中间语言(IL)以支持多种编程语言,旨在实现可复用性与效率。然而在实践中,该方法在性能、准确性和语言特性支持之间引入了权衡。我们认为,为每种源语言直接构建符号执行引擎既更简单也更有效。本文提出Soteria——一个轻量级OCaml库,用于以函数式风格编写符号执行引擎,且不牺牲性能、准确性或功能支持。Soteria使开发者能够构建直接基于源语言语义运行的符号执行引擎,提供可配置性、组合式推理及易于实现的特性。基于Soteria,我们开发了Soteria$^{\text{Rust}}$——首个支持Tree Borrows(Rust复杂别名模型)的Rust符号执行引擎,以及Soteria$^{\text{C}}$——面向C语言的组合式符号执行引擎。两者在性能和检测缺陷数量上均与Kani、Pulse、CBMC及Gillian-C等现有先进工具相当或更优。我们形式化了Soteria的理论基础并证明了其可靠性,表明无需依赖中间语言的妥协即可实现可靠、高效、准确且具表现力的符号执行。

0
下载
关闭预览

相关内容

Segment Anything模型的高效变体:综述
专知会员服务
27+阅读 · 2024年10月11日
可解释强化学习,Explainable Reinforcement Learning: A Survey
专知会员服务
132+阅读 · 2020年5月14日
Effective.Modern.C++ 中英文版,334页pdf
专知
26+阅读 · 2020年11月4日
高效的文本生成方法 — LaserTagger 现已开源
TensorFlow
30+阅读 · 2020年2月27日
TheFatRat 一款简易后门工具
黑白之道
36+阅读 · 2019年10月23日
深度文本匹配开源工具(MatchZoo)
机器学习研究会
10+阅读 · 2017年12月5日
TextInfoExp:自然语言处理相关实验(基于sougou数据集)
全球人工智能
12+阅读 · 2017年11月12日
国家自然科学基金
2+阅读 · 2017年12月31日
国家自然科学基金
43+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
5+阅读 · 2014年12月31日
Arxiv
0+阅读 · 5月1日
Arxiv
0+阅读 · 4月28日
VIP会员
最新内容
美国从乌克兰无人机战争中学习经验
专知会员服务
5+阅读 · 6月21日
ICML 2026 | 面向视觉语言模型的语义鲁棒性认证
专知会员服务
2+阅读 · 6月21日
学习数据的几何:形状空间分析数学综述
专知会员服务
9+阅读 · 6月17日
定向能反无人机系统最新发展动态
专知会员服务
11+阅读 · 6月17日
相关VIP内容
Segment Anything模型的高效变体:综述
专知会员服务
27+阅读 · 2024年10月11日
可解释强化学习,Explainable Reinforcement Learning: A Survey
专知会员服务
132+阅读 · 2020年5月14日
相关资讯
相关基金
国家自然科学基金
2+阅读 · 2017年12月31日
国家自然科学基金
43+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
5+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员