Generating Inductive Predicates for Symbolic Execution of Pointer-Manipulating Programs
Generating Inductive Predicates for Symbolic Execution of Pointer-Manipulating Programs
复制标题
为指针操作程序的符号执行生成归纳谓词
DOI:
10.1007/978-3-319-09108-2_5
复制
发表时间:
2014
影响因子:
3.7
通讯作者:
T. Noll
中科院分区:
文献类型:
--
作者:
Christina Jansen;Florian Göbe;T. Noll
We study the relationship between two abstraction approaches for pointer programs, Separation Logic and hyperedge replacement grammars. Both employ inductively defined predicates and replacement rules, respectively, for representing (dynamic) data structures, involving abstraction and concretisation operations for symbolic execution. In the Separation Logic case, automatically generating a complete set of such operations requires certain properties of predicates, which are currently implicitly described and manually established. In contrast, the structural properties that guarantee correctness of grammar abstraction are decidable and automatable. Using a property-preserving translation we argue that it is exactly the logic counterparts of those properties that ensure the direct applicability of predicate definitions for symbolic execution.