Dynamic symbolic execution is a widely used technique for automated software testing, designed for execution paths exploration and program errors detection. A hybrid approach has recently become widespread, when the main goal of symbolic execution is helping fuzzer increase program coverage. The more branches symbolic executor can invert, the more useful it is for fuzzer. A program control flow often depends on memory values, which are obtained by computing address indexes from user input. However, most DSE tools don't support such dependencies, so they miss some desired program branches. We implement symbolic addresses reasoning on memory reads in our dynamic symbolic execution tool Sydr. Possible memory access regions are determined by either analyzing memory address symbolic expressions, or binary searching with SMT-solver. We propose an enhanced linearization technique to model memory accesses. Different memory modeling methods are compared on the set of programs. Our evaluation shows that symbolic addresses handling allows to discover new symbolic branches and increase the program coverage.


翻译:动态符号执行是一种广泛使用的自动软件测试技术,设计用于执行路径探测和程序错误探测。 混合方法最近变得很普遍, 当象征性执行的主要目标是帮助模糊器扩大程序覆盖范围。 符号执行者越多分支可以反转, 就越对模糊器有用。 程序控制流程往往取决于记忆值, 而这些值是通过用户输入的地址索引计算获得的。 然而, 大多数 DSE 工具不支持这种依赖性, 因而它们错过了某些想要的程序分支。 我们用动态符号执行工具Sydr 来解释记忆的符号地址推理。 可能存在的存储访问区域通过分析记忆信号表达方式或SMT- 索尔的二进式搜索来确定。 我们建议用强化的线性技术来模拟存储访问。 不同的记忆模型方法在程序集中比较。 我们的评估显示, 符号地址处理可以发现新的符号分支, 并增加程序覆盖范围。

0
下载
关闭预览

相关内容

专知会员服务
32+阅读 · 2021年10月9日
【机器推理可解释性】Machine Reasoning Explainability
专知会员服务
34+阅读 · 2020年9月3日
神经常微分方程教程,50页ppt,A brief tutorial on Neural ODEs
专知会员服务
70+阅读 · 2020年8月2日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
动物脑的好奇心和强化学习的好奇心
CreateAMind
10+阅读 · 2019年1月26日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
利用动态深度学习预测金融时间序列基于Python
量化投资与机器学习
18+阅读 · 2018年10月30日
Redis Stream 实践
性能与架构
3+阅读 · 2018年7月21日
已删除
将门创投
4+阅读 · 2018年6月1日
BranchOut: Regularization for Online Ensemble Tracking with CNN
统计学习与视觉计算组
9+阅读 · 2017年10月7日
Arxiv
12+阅读 · 2021年5月3日
Arxiv
14+阅读 · 2020年9月1日
Pointer Graph Networks
Arxiv
7+阅读 · 2020年6月11日
Neural Module Networks for Reasoning over Text
Arxiv
9+阅读 · 2019年12月10日
Arxiv
4+阅读 · 2017年1月2日
VIP会员
相关资讯
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
动物脑的好奇心和强化学习的好奇心
CreateAMind
10+阅读 · 2019年1月26日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
利用动态深度学习预测金融时间序列基于Python
量化投资与机器学习
18+阅读 · 2018年10月30日
Redis Stream 实践
性能与架构
3+阅读 · 2018年7月21日
已删除
将门创投
4+阅读 · 2018年6月1日
BranchOut: Regularization for Online Ensemble Tracking with CNN
统计学习与视觉计算组
9+阅读 · 2017年10月7日
相关论文
Top
微信扫码咨询专知VIP会员