【24h】

Generalizing symbolic execution to library classes

机译:将符号执行概括为库类

获取原文

摘要

Forward symbolic execution is a program analysis technique that allows using symbolic inputs to explore program executions. The traditional applications of this technique have focused on programs that manipulate primitive data types, such as integer or boolean. Recent extensions have shown how to handle reference types at their representation level. The extensions have favorably been backed by advances in constraint solving technology, and together they have made symbolic execution applicable, at least in theory, to a large class of programs. In practice, however, the increased potential for applications has created significant issues with scalability of symbolic execution to programs of non-trivial size---the ensuing path conditions rapidly become unfeasibly complex.We present Dianju, a new technique that aims to address the scalability of symbolic execution. The fundamental idea in Dianju is to perform symbolic execution of commonly used library classes (such as strings, sets and maps) at the abstract level rather than the representation level. Dianju defines semantics of operations on symbolic objects of these classes, which allows Dianju to abstract away from the complexity that is normally inherent in library implementations, thus promising scalable analyses based on symbolic execution.
机译:正向符号执行是一种程序分析技术,它允许使用符号输入来探索程序执行。此技术的传统应用程序集中在处理原始数据类型(例如整数或布尔值)的程序上。最近的扩展显示了如何在表示形式上处理引用类型。扩展得到了约束解决技术的先进支持,并且它们一起使符号执行至少在理论上适用于大型程序。然而在实践中,应用程序潜力的增加已导致符号执行可扩展到非平凡大小的程序的重大问题-随之而来的路径条件迅速变得难以实现。符号执行的可伸缩性。电举的基本思想是在抽象级别而不是表示级别执行常用库类(例如字符串,集合和映射)的符号执行。电举定义了这些类的符号对象上操作的语义,这使电举可以抽象出库实现中通常固有的复杂性,从而有望基于符号执行进行可伸缩的分析。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号