首页> 外文期刊>ACM SIGPLAN Notices: A Monthly Publication of the Special Interest Group on Programming Languages >Sulong, and Thanks For All the Bugs:Finding Errors in C Programs by Abstracting from the Native Execution Model
【24h】

Sulong, and Thanks For All the Bugs:Finding Errors in C Programs by Abstracting from the Native Execution Model

机译:Sulong,感谢所有错误:通过从本机执行模型抽象来发现C程序中的错误

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

摘要

In C, memory errors, such as buffer overflows, are among the most dangerous software errors; as we show, they are still on the rise. Current dynamic bug-finding tools that try to detect such errors are based on the low-level execution model of the underlying machine. They insert additional checks in an ad- hoc fashion, which makes them prone to omitting checks for corner cases. To address this, we devised a novel approach to finding bugs during the execution of a program. At the core of this approach is an interpreter written in a high-level language that performs automatic checks (such as bounds, NULL, and type checks). By mapping data structures in C to those of the high-level language, accesses are automatically checked and bugs discovered. We have implemented this approach and show that our tool (called Safe Sulong) can find bugs that state-of-the-art tools overlook, such as out-of- bounds accesses to the main function arguments.
机译:在C中,内存错误(例如缓冲区溢出)是最危险的软件错误; 正如我们所展示的那样,他们仍在崛起。 当前尝试检测此类错误的动态错误查找工具基于底层机器的低级执行模型。 它们以广告时尚插入额外的检查,这使得它们能够忽略转角案例的检查。 为了解决这个问题,我们设计了一种新颖的方法来在执行程序期间找到错误。 在此方法的核心处于以高级语言编写的解释器,该语言是执行自动检查(例如界限,空和类型检查)。 通过将数据结构映射到高级语言的数据结构,自动检查访问并发现错误。 我们已经实施了这种方法,并显示了我们的工具(称为Safe Sulong)可以发现最先进的工具忽略的错误,例如界限访问主要函数参数。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号