【24h】

Tracking pointers with path and context sensitivity for bug detection in C programs

机译:跟踪具有路径和上下文敏感性的指针,以检测C程序中的错误

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

摘要

This paper proposes a pointer alias analysis for automatic error detection. State-of-the-art pointer alias analyses are either too slow or too imprecise for finding errors in real-life programs. We propose a hybrid pointer analysis that tracks actively manipulated pointers held in local variables and parameters accurately with path and context sensitivity and handles pointers stored in recursive data structures less precisely but efficiently. We make the unsound assumption that pointers passed into a procedure, in parameters, global variables, and locations reached by applying simple access paths to parameters and global variables, are all distinct from each other and from any other locations. This assumption matches the semantics of many functions, reduces spurious aliases and speeds up the analysis.We present a program representation, called IPSSA, which captures intraprocedural and interprocedural definition-use relationships of directly and indirectly accessed memory locations. This representation makes it easy to create demand-driven path-sensitive and context-sensitive analyses.We demonstrate how a program checker based on IPSSA can be used to find security violations. Our checker, when applied to 10 programs, found 6 new violations and 8 previously reported ones. The checker generated only one false warning, suggesting that our approach is effective in creating practical and easy-to-use bug detection tools.
机译:本文提出了一种用于自动错误检测的指针别名分析。最新的指针别名分析对于在现实程序中发现错误而言太慢或太不精确。我们提出了一种混合指针分析方法,该方法可通过路径和上下文敏感度来精确跟踪本地变量和参数中包含的主动操作指针,并不太精确但有效地处理存储在递归数据结构中的指针。我们做出不合理的假设,即在参数,全局变量以及通过对参数和全局变量应用简单访问路径而到达的位置中,传递给过程的指针彼此之间以及与任何其他位置上都是不同的。该假设与许多函数的语义相匹配,减少了假别名,并加快了分析速度。我们提出了一种程序表示,称为IPSSA,它捕获了直接和间接访问的内存位置的过程内和过程间定义使用关系。这种表示使创建需求驱动的路径敏感和上下文敏感分析变得容易。我们演示了如何使用基于IPSSA的程序检查器来发现安全违规。我们的检查程序应用于10个程序时,发现6个新的违规行为和8个先前报告的违规行为。该检查器仅产生一个错误警告,表明我们的方法可有效地创建实用且易于使用的错误检测工具。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号