Dynamic Symbolic Execution (DSE) suffers from the path explosion problem when the target program has many conditional branches. The classical approach for managing the path explosion problem is dynamic state merging. Dynamic state merging combines similar symbolic program states to avoid the exponential growth in the number of states during DSE. However, state merging still requires solver invocations at each program branch, even when both paths of the branch are feasible. Moreover, the best path search strategy for DSE may not create the best state merging opportunities. Some drawbacks of state merging can be mitigated by compile-time state merging (i.e., branch elimination by converting control-flow into dataflow). In this paper, we propose a non-semantics-preserving but failure-preserving compiler transformation for removing expensive symbolic branches in a program to improve the scalability of DSE. We have developed a framework for detecting spurious bugs that our transformation can insert. Finally, we show that our transformation can significantly improve the performance of DSE on various benchmark programs and help improve the performance of coverage and bug discovery of large real-world programs.


翻译:动态符号执行(DSE)在处理具有大量条件分支的目标程序时,面临路径爆炸问题。应对路径爆炸问题的经典方法是动态状态合并。动态状态合并将相似的符号程序状态合并,以避免DSE过程中状态数量的指数级增长。然而,即使程序分支的两个路径均可行,状态合并仍需在每个分支处调用求解器。此外,DSE的最佳路径搜索策略可能无法创造最优的状态合并机会。通过编译时状态合并(即,通过将控制流转换为数据流来消除分支),可以缓解状态合并的部分缺陷。本文提出一种非语义保持但故障保持的编译器变换方法,用于移除程序中代价高昂的符号分支,从而提升DSE的可扩展性。我们开发了一个框架,用于检测该变换可能引入的虚假缺陷。最后,我们通过实验表明,该变换能显著提升DSE在各种基准测试程序上的性能,并有助于提升大型真实世界程序的覆盖率与缺陷发现能力。

0
下载
关闭预览

相关内容

【字节跳动-李航】一种按序列进行对话状态跟踪的方法
专知会员服务
30+阅读 · 2020年11月25日
多图带你读懂 Transformers 的工作原理
AI研习社
10+阅读 · 2019年3月18日
综述:Image Caption 任务之语句多样性
PaperWeekly
22+阅读 · 2018年11月30日
国家自然科学基金
2+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
6+阅读 · 2014年12月31日
VIP会员
最新内容
综述 | 世界动作模型:少做梦,多行动
专知会员服务
4+阅读 · 6月23日
美以伊冲突:无人机与人工智能的运用
专知会员服务
7+阅读 · 6月23日
《特种部队在透明战场中的生存力》最新报告
专知会员服务
4+阅读 · 6月23日
综述 | 3D场景图:开放挑战与未来方向
专知会员服务
8+阅读 · 6月22日
21世纪的无人机战争
专知会员服务
4+阅读 · 6月22日
《量子技术的军事任务技术适配与利用》
专知会员服务
5+阅读 · 6月22日
相关VIP内容
【字节跳动-李航】一种按序列进行对话状态跟踪的方法
专知会员服务
30+阅读 · 2020年11月25日
相关基金
国家自然科学基金
2+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
6+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员