首页> 外文会议>International symposium on automated technology for verification and analysis >Precise Null Pointer Analysis Through Global Value Numbering
【24h】

Precise Null Pointer Analysis Through Global Value Numbering

机译:通过全局值编号进行精确的空指针分析

获取原文

摘要

Precise analysis of pointer information plays an important role in many static analysis tools. The precision, however, must be balanced against the scalability of the analysis. This paper focusses on improving the precision of standard context and flow insensitive alias analysis algorithms at a low scalability cost. In particular, we present a semantics-preserving program transformation that drastically improves the precision of existing analyses when deciding if a pointer can alias Null. Our program transformation is based on Global Value Numbering, a scheme inspired from compiler optimization literature. It allows even a flow-insensitive analysis to make use of branch conditions such as checking if a pointer is Null and gain precision. We perform experiments on real-world code and show that the transformation improves precision (in terms of the number of dereferences proved safe) from 86.56% to 98.05%, while incurring a small overhead in the running time.
机译:指针信息的精确分析在许多静态分析工具中都扮演着重要的角色。但是,精度必须与分析的可伸缩性保持平衡。本文着重于以较低的可伸缩性成本提高标准上下文和对流不敏感的别名分析算法的精度。特别是,我们提出了一种保留语义的程序转换,在确定指针是否可以别名为Null时,可以大大提高现有分析的精度。我们的程序转换基于全局值编号(Global Value Numbering),该方案受编译器优化文献的启发。它甚至允许对流量不敏感的分析都利用分支条件,例如检查指针是否为Null并获得精度。我们对真实的代码进行了实验,结果表明,该转换将精度(从被证明是安全的取消引用数量而言)从86.56%提高到98.05%,同时在运行时间上产生了很小的开销。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号