首页> 外文会议>2011 ACM international conference on object oriented programming, systems, languages and applications >Null Dereference Verification via Over-approximated Weakest Pre-conditions Analysis
【24h】

Null Dereference Verification via Over-approximated Weakest Pre-conditions Analysis

机译:通过过度逼近最弱前提条件分析进行空解除引用验证

获取原文
获取原文并翻译 | 示例

摘要

Null dereferences are a bane of programming in languages such as Java. In this paper we propose a sound, demand-driven, inter-procedurally context-sensitive dataflow analysis technique to verify a given dereference as safe or potentially unsafe. Our analysis uses an abstract lattice of formulas to find a pre-condition at the entry of the program such that a null-dereference can occur only if the initial state of the program satisfies this pre-condition. We use a simplified domain of formulas, abstracting out integer arithmetic, as well as unbounded access paths due to recursive data structures. For the sake of precision we model aliasing relationships explicitly in our abstract lattice, enable strong updates, and use a limited notion of path sensitivity. For the sake of scalability we prune formulas continually as they get propagated, reducing to true conjuncts that are less likely to be useful in validating or invalidating the formula. We have implemented our approach, and present an evaluation of it on a set of ten real Java programs. Our results show that the set of design features we have incorporated enable the analysis to (a) explore long, inter-procedural paths to verify each dereference, with (b) reasonable accuracy, and (c) very quick response time per dereference, making it suitable for use in desktop development environments.
机译:空取消引用是使用Java之类的语言进行编程的祸根。在本文中,我们提出了一种可靠的,需求驱动的,过程间上下文相关的数据流分析技术,以验证给定的取消引用是安全还是潜在不安全。我们的分析使用公式的抽象格来查找程序入口处的前提条件,以便仅当程序的初始状态满足该前提条件时才可以进行空引用。我们使用公式的简化域,抽象出整数算法,以及由于递归数据结构而产生的无限制访问路径。为了精确起见,我们在抽象格中显式地对别名关系建模,启用强更新,并使用有限的路径敏感性概念。为了可伸缩性,我们在公式传播时不断对其进行修剪,以减少为真组合,这些组合在验证或使公式无效时不太可能有用。我们已经实现了我们的方法,并在一组十个真正的Java程序上对其进行了评估。我们的结果表明,我们纳入的一组设计功能使该分析能够(a)探索较长的过程间路径以验证每个取消引用,并且(b)准确性合理,并且(c)每个取消引用的响应时间都非常快,从而使它适用于桌面开发环境。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号