【24h】

Null Dereference Analysis in Practice

机译:实际中的空解除引用分析

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

摘要

Many analysis techniques have been proposed to determine when a potentially null value may be dereferenced. But we have observed in practice that not every potential null dereference is a "bug" that developers want to fix. In this paper we discuss some of the challenges of using a null dereference analysis in practice, and reasons why developers may not feel it necessary to change code to prevent ever possible null dereference. We revisit previous work on XYLEM, an interprocedural null dereference analysis for Java, and discuss the challenge of comparing the results of different static analysis tools. We also report experimental results for XYLEM, Coverity Prevent, Fortify SCA, Eclipse and FindBugs, and observe that the different tools tradeoff the need to flag all potential null dereferences with the need to minimize the number of cases that are implausible in practice. We conclude by discussing whether it would be useful to extend the Java type system to distinguish between nullable and nonnull types, and prohibit unchecked dereferences of nullable types.
机译:已经提出了许多分析技术来确定何时可以取消潜在的空值的引用。但是我们在实践中观察到,并不是每个潜在的null取消引用都是开发人员想要修复的“错误”。在本文中,我们讨论了在实践中使用空解除引用分析的一些挑战,以及为什么开发人员可能认为无需更改代码以防止可能的空解除引用的原因。我们回顾了以前关于XYLEM的工作,XYLEM是Java的过程间空引用分析,并讨论了比较不同静态分析工具的结果所面临的挑战。我们还报告了XYLEM,Coverity Prevent,Fortify SCA,Eclipse和FindBugs的实验结果,并观察到不同的工具权衡了标记所有潜在的null取消引用和最小化实际不可行的案例数量的需要。最后,我们讨论了扩展Java类型系统以区分可空类型和非空类型并禁止对可空类型进行未经检查的取消引用是否有用。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号