首页> 外文会议>International conference on computational science and its applications >Improving Static Initialization Block Handling in Java Symbolic Execution Engine
【24h】

Improving Static Initialization Block Handling in Java Symbolic Execution Engine

机译:改进Java符号执行引擎中的静态初始化块处理

获取原文

摘要

Runtime exceptions usually cause serious problems during execution, so it is important to focus on them during testing. On the other hand, it is very difficult to discover such problems by static analysis, so most tools are not able to find them. Symbolic execution is applied to verify the possible execution paths of the program without really executing it. Although it is able to detect runtime exceptions, usually it is very slow and requires lots of resources, consequently some trade-offs must be made so that it can be used in practice. But due to the different trade-offs, the results become less precise. Our static analyzer tool, called RTEHunter, uses a symbolic execution engine to detect runtime exceptions in Java source code but it has limitations as well. One of them is the proper handling of static initialization which is neglected in the latest version of RTEHunter. We provided a heuristical solution for managing static initializer blocks instead of implementing the proper working of the Java ClassLoader, which can be very complex. The results were tested on more than 200 various sized Java systems. Our solution filtered out more than 200 false positive NullPointerEx-ception warnings, which is about 8% of the total number of reported NullPointerExceptions.
机译:运行时异常通常在执行过程中引起严重的问题,因此在测试过程中重点关注它们是很重要的。另一方面,通过静态分析发现此类问题非常困难,因此大多数工具都无法找到它们。使用符号执行来验证程序的可能执行路径,而无需真正执行它。尽管它能够检测运行时异常,但是通常它非常慢并且需要大量资源,因此必须进行一些权衡,以便可以在实践中使用它。但是由于折衷的不同,结果变得不太精确。我们的静态分析器工具称为RTEHunter,它使用符号执行引擎来检测Java源代码中的运行时异常,但它也有局限性。其中之一是正确处理静态初始化,而最新版本的RTEHunter忽略了这一问题。我们提供了一种启发式的解决方案,用于管理静态初始化程序块,而不是实现Java ClassLoader的正常工作,这可能非常复杂。在200多种不同大小的Java系统上测试了结果。我们的解决方案滤除了200多个误报NullPointerEx-ception警告,约占报告的NullPointerExceptions总数的8%。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号