首页> 外文期刊>ACM transactions on software engineering and methodology >Marple: Detecting Faults in Path Segments Using Automatically Generated Analyses
【24h】

Marple: Detecting Faults in Path Segments Using Automatically Generated Analyses

机译:Marple:使用自动生成的分析检测路径段中的故障

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

摘要

Generally, a fault is a property violation at a program point along some execution path. To obtain the path where a fault occurs, we can either run the program or manually identify the execution paths through code inspection. In both of the cases, only a very limited number of execution paths can be examined for a program. This article presents a static framework, Marple, that automatically detects path segments where a fault occurs at a whole program scale. An important contribution of the work is the design of a demand-driven analysis that effectively addresses scalability challenges faced by traditional path-sensitive fault detection. The techniques are made general via a specification language and an algorithm that automatically generates path-based analyses from specifications. The generality is achieved in handling both data- and control-centric faults as well as both liveness and safety properties, enabling the exploitation of fault interactions for diagnosis and efficiency. Our experimental results demonstrate the effectiveness of our techniques in detecting path segments of buffer overflows, integer violations, null-pointer dereferences, and memory leaks. Because we applied an interprocedural, path-sensitive analysis, our static fault detectors generally report better precision than the tools available for comparison. Our demand-driven analyses are shown scalable to deployed applications such as apache, putty, and ffmpeg.
机译:通常,故障是沿着某个执行路径的程序点处的属性违规。要获取发生故障的路径,我们可以运行程序或通过代码检查手动识别执行路径。在这两种情况下,程序只能检查数量非常有限的执行路径。本文介绍了一个静态框架Marple,它可以自动检测整个程序范围内发生故障的路径段。这项工作的重要贡献是设计了一个需求驱动的分析,该分析可有效应对传统的路径敏感型故障检测所面临的可伸缩性挑战。通过规范语言和自动根据规范生成基于路径的分析的算法使这些技术变得通用。在处理以数据为中心和以控制为中心的故障以及活动性和安全性方面都达到了通用性,从而可以利用故障相互作用来进行诊断和提高效率。我们的实验结果证明了我们的技术在检测缓冲区溢出,整数违规,空指针取消引用和内存泄漏的路径段方面的有效性。因为我们应用了过程间,路径敏感的分析,所以我们的静态故障检测器通常比可比较的工具报告更好的精度。我们的需求驱动分析显示可扩展至已部署的应用程序,如apache,putty和ffmpeg。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号