Under-Approximating Loops in C Programs for Fast Counterexample Detection

  • Daniel Kroening
  • Matt Lewis
  • Georg Weissenbacher
Conference paper

DOI: 10.1007/978-3-642-39799-8_26

Part of the Lecture Notes in Computer Science book series (LNCS, volume 8044)
Cite this paper as:
Kroening D., Lewis M., Weissenbacher G. (2013) Under-Approximating Loops in C Programs for Fast Counterexample Detection. In: Sharygina N., Veith H. (eds) Computer Aided Verification. CAV 2013. Lecture Notes in Computer Science, vol 8044. Springer, Berlin, Heidelberg

Abstract

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Daniel Kroening
    • 1
  • Matt Lewis
    • 1
  • Georg Weissenbacher
    • 2
  1. 1.Oxford UniversityUK
  2. 2.Vienna University of TechnologyAustria

Personalised recommendations