A segmented memory model for symbolic execution

A segmented memory model for symbolic execution
复制标题

用于符号执行的分段内存模型

DOI:
10.1145/3338906.3338936
复制
发表时间:
2019
期刊:
--
影响因子:
--
通讯作者:
Kapus T
Kapus T
中科院分区:
--
文献类型:
--
作者:
Kapus T

文献摘要

参考文献

被引文献

相似文献

符号执行是一种有效的技术,用于探索程序中的路径并推理这些路径上的所有可能值。然而,该技术仍然难以处理使用复杂堆数据结构的代码,其中允许指针引用多个内存对象。在这种情况下,符号执行通常分叉执行到多个状态,一个为每个对象的指针可以reference.In本文中,我们提出了一种技术,避免这种昂贵的分叉使用分段内存模型。在这个模型中,内存被分割成多个段,因此每个符号指针都指向单个段中的对象。段的大小由阈值约束,以避免昂贵的约束。这将导致在内存模型中,分叉由于符号指针解引用显着减少,往往完全。我们评估我们的分段内存模型的混合整个程序基准测试(如m4和使)和库基准测试(如SQLite),并观察到显着减少执行时间和内存使用。
Symbolic execution is an effective technique for exploring paths in a program and reasoning about all possible values on those paths. However, the technique still struggles with code that uses complex heap data structures, in which a pointer is allowed to refer to more than one memory object. In such cases, symbolic execution typically forks execution into multiple states, one for each object to which the pointer could refer.In this paper, we propose a technique that avoids this expensive forking by using a segmented memory model. In this model, memory is split into segments, so that each symbolic pointer refers to objects in a single segment. The size of the segments are bound by a threshold, in order to avoid expensive constraints. This results in a memory model where forking due to symbolic pointer dereferences is significantly reduced, often completely.We evaluate our segmented memory model on a mix of whole program benchmarks (such as m4 and make) and library benchmarks (such as SQLite), and observe significant decreases in execution time and memory usage.
利用内存模型中的指针分析进行演绎验证
DOI: --
发表时间: 2018
期刊: International Conference on Verification, Model Checking and Abstract Interpretation
影响因子: --
作者:
Quentin Bouillaguet;François Bobot;M. Sighireanu;Boris Yakobowski
通讯作者: Boris Yakobowski
IBM 研究报告评估指针别名分析的 E(cid:11) 有效性
DOI: --
发表时间: 1999
期刊:
影响因子: --
作者:
M. Hind;Research Division Almaden T.J. Watson;Tokyo Zurich;Anthony Pioli
通讯作者: Anthony Pioli
将符号执行和基于搜索的测试相结合,对具有复杂堆输入的程序进行测试
DOI: 10.1145/3092703.3092715
发表时间: 2017
期刊: --
影响因子: --
作者:
Braione P
通讯作者: Braione P