首页> 外文会议>Computer aided verification >Under-Approximating Loops in C Programs for Fast Counterexample Detection
【24h】

Under-Approximating Loops in C Programs for Fast Counterexample Detection

机译:用于快速反例检测的C程序中的欠逼近循环

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

摘要

Many software model checkers only detect counterexamples with deep loops after exploring numerous spurious and increasingly longer counterexamples. We propose a technique that aims at eliminating this weakness by constructing auxiliary paths that represent the effect of a range of loop iterations. Unlike acceleration, which captures the exact effect of arbitrarily many loop iterations, these auxiliary paths may under-approximate the behaviour of the loops. In return, the approximation is sound with respect to the bit-vector semantics of programs. Our approach supports arbitrary conditions and assignments to arrays in the loop body, but may as a result introduce quantified conditionals. To reduce the resulting performance penalty, we present two quantifier elimination techniques specially geared towards our application. Loop under-approximation can be combined with a broad range of verification techniques. We paired our techniques with lazy abstraction and bounded model checking, and evaluated the resulting tool on a number of buffer overflow benchmarks, demonstrating its ability to efficiently detect deep counterexamples in C programs that manipulate arrays.
机译:许多软件模型检查器在探究了许多虚假且越来越长的反例之后,才发现带有深循环的反例。我们提出了一种旨在通过构造表示一系列循环迭代影响的辅助路径来消除此缺点的技术。与加速(捕获任意多次循环迭代的确切效果)不同,这些辅助路径可能会使循环的行为近似不足。作为回报,就程序的位向量语义而言,近似是合理的。我们的方法支持任意条件和对循环体中数组的赋值,但结果可能会引入量化条件。为了减少由此带来的性能损失,我们提出了两种专门针对我们的应用的量词消除技术。环路欠逼近可以与多种验证技术结合使用。我们将技术与惰性抽象和边界模型检查结合在一起,并在许多缓冲区溢出基准上评估了所得工具,从而证明了该工具能够有效检测操纵数组的C程序中深层反例的能力。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号