Randomized Algorithms for Program Analysis and Verification

  • George C. Necula
  • Sumit Gulwani
Conference paper

DOI: 10.1007/11513988_1

Volume 3576 of the book series Lecture Notes in Computer Science (LNCS)
Cite this paper as:
Necula G.C., Gulwani S. (2005) Randomized Algorithms for Program Analysis and Verification. In: Etessami K., Rajamani S.K. (eds) Computer Aided Verification. CAV 2005. Lecture Notes in Computer Science, vol 3576. Springer, Berlin, Heidelberg

Abstract

Program analysis and verification are provably hard, and we have learned not to expect perfect results. We are accustomed to pay this cost in terms of incompleteness and algorithm complexity. Recently we have started to investigate what benefits we could expect if we are willing to trade off controlled amounts of soundness. This talk describes a number of randomized program analysis algorithms which are simpler, and in many cases have lower computational complexity, than the corresponding deterministic algorithms. The price paid is that such algorithms may, in rare occasions, infer properties that are not true. We describe both the intuitions and the technical arguments that allow us to evaluate and control the probability that an erroneous result is returned, in terms of various parameters of the algorithm. These arguments will also shed light on the limitations of such randomized algorithms.

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • George C. Necula
    • 1
  • Sumit Gulwani
    • 1
  1. 1.Department of Electrical Engineering and Computer ScienceUniversity of CaliforniaBerkeley