【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.
机译:前向符号执行是一个程序分析技术,允许使用符号输入来探索程序执行。这种技术的传统应用程序专注于操纵原始数据类型的程序,例如整数或布尔值。最近的扩展显示了如何处理其表示级别的参考类型。延伸已经通过约束解决技术的进步得到了有利的支持,并且它们至少在理论上适用于大类计划来实现象征性的执行。然而,在实践中,应用程序的增加的潜力已经创造了具有非琐事规模的象征性的可扩展性的重要问题---随后的路径条件迅速变得不可行的复杂。我们呈现了一个旨在解决的新技术符号执行的可扩展性。 Dianju的基本因想法是在抽象级别而不是表示级别的常用库类(例如字符串,集合和映射)的象征性执行。 Dianju定义了这些类的符号对象的操作的语义,这允许戴安州摘要远离图书馆实现中通常固有的复杂性,从而有望基于符号执行的可扩展分析。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号