Logic for Programming, Artificial Intelligence, and Reasoning

Volume 3835 of the series Lecture Notes in Computer Science pp 2-22

Zap: Automated Theorem Proving for Software Analysis

  • Thomas BallAffiliated withMicrosoft Research
  • , Shuvendu K. LahiriAffiliated withMicrosoft Research
  • , Madanlal MusuvathiAffiliated withMicrosoft Research

* Final gross prices may vary according to local VAT.

Get Access


Automated theorem provers (ATPs) are a key component that many software verification and program analysis tools rely on. However, the basic interface provided by ATPs (validity/satisfiability checking of formulas) has changed little over the years. We believe that program analysis clients would benefit greatly if ATPs were to provide a richer set of operations. We describe our desiderata for such an interface to an ATP, the logics (theories) that an ATP for program analysis should support, and present how we have incorporated many of these ideas in Zap, an ATP built at Microsoft Research.