Symbolic execution has always been plagued by the inability to handle programs that require highly structured inputs. Most often, the symbolic execution engine gets overwhelmed by the sheer number of infeasible paths and fails to explore enough feasible paths to gain any respectable coverage. In this paper, we propose a system, InVaSion, that attempts to solve this problem for forking-based symbolic execution engines. We propose an input specification language (ISL) that is based on a finite-state automaton but includes guarded transitions, a set of registers and a set of commands to update the register states. We demonstrate that our language is expressive enough to handle complex input specifications, like the Tiff image format, while not requiring substantial human effort; even the Tiff image specification could be specified in our language with an automaton of about 35 states. InVaSion translates the given program and the input specification into a non-deterministic program and uses symbolic execution to instantiate the non-determinism. This allows our tool to work with any forking-based symbolic execution engine and with no requirement of any special theory solver. Over our set of benchmarks, on an average, InVaSion was able to increase branch coverage from 24.97% to 67.84% over baseline KLEE.


翻译:由于无法处理需要高度结构化投入的程序,执行的象征性执行引擎一直受到困扰。 通常, 象征性执行引擎被大量不可行的路径所压倒, 并且未能探索足够可行的路径以获得任何值得尊重的覆盖。 在本文中, 我们提议了一个系统, InVaSion, 试图解决这个问题, 试图解决基于基于金字钉的象征性执行引擎的问题。 我们建议一种输入规格语言( ISL), 它基于一个有限状态的自动图案, 但它包括保密的过渡、 一套登记簿和一套命令来更新登记国。 我们证明我们的语言已经表达得足够, 能够处理复杂的输入规格, 像蒂夫图像格式那样, 而不需要大量的人文努力; 甚至蒂夫图像规格也可以用我们的语言用大约35个州的自动地图来指定。 InVaSion将给定的程序和输入规格转换成一个非确定性的程序, 并使用象征性执行来回调非确定性。 这使得我们的工具能够使用任何基于King的象征性执行引擎, 并且不需要任何特殊的理论解算器。 Inleal84 pressel cloveal cal laber labs a sover a suide a subre subus subleg subus abus subal abal ableglegal abal ablegal ablegis a sublegal abal abal.

0
下载
关闭预览

相关内容

《工程》是中国工程院(CAE)于2015年推出的国际开放存取期刊。其目的是提供一个高水平的平台,传播和分享工程研发的前沿进展、当前主要研究成果和关键成果;报告工程科学的进展,讨论工程发展的热点、兴趣领域、挑战和前景,在工程中考虑人与环境的福祉和伦理道德,鼓励具有深远经济和社会意义的工程突破和创新,使之达到国际先进水平,成为新的生产力,从而改变世界,造福人类,创造新的未来。 期刊链接:https://www.sciencedirect.com/journal/engineering
剑桥大学《数据科学: 原理与实践》课程,附PPT下载
专知会员服务
53+阅读 · 2021年1月20日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
156+阅读 · 2019年10月12日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
【论文笔记】通俗理解少样本文本分类 (Few-Shot Text Classification) (1)
深度学习自然语言处理
7+阅读 · 2020年4月8日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
Tensorflow Eager Execution入门指南
专知
6+阅读 · 2018年4月16日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
15+阅读 · 2017年11月16日
【推荐】决策树/随机森林深入解析
机器学习研究会
5+阅读 · 2017年9月21日
【推荐】用Tensorflow理解LSTM
机器学习研究会
36+阅读 · 2017年9月11日
Arxiv
5+阅读 · 2021年2月8日
Arxiv
9+阅读 · 2020年2月15日
Neural Module Networks for Reasoning over Text
Arxiv
9+阅读 · 2019年12月10日
Symbolic Priors for RNN-based Semantic Parsing
Arxiv
3+阅读 · 2018年9月20日
Arxiv
3+阅读 · 2018年2月24日
VIP会员
相关资讯
【论文笔记】通俗理解少样本文本分类 (Few-Shot Text Classification) (1)
深度学习自然语言处理
7+阅读 · 2020年4月8日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
Tensorflow Eager Execution入门指南
专知
6+阅读 · 2018年4月16日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
15+阅读 · 2017年11月16日
【推荐】决策树/随机森林深入解析
机器学习研究会
5+阅读 · 2017年9月21日
【推荐】用Tensorflow理解LSTM
机器学习研究会
36+阅读 · 2017年9月11日
Top
微信扫码咨询专知VIP会员