Scalable Program Analysis Using Boolean Satisfiability

Static program analysis has long suffered from a fundamental trade-off between precision and scalability, and today the analyses that scale to the largest programs invariably are not the most precise methods known. This talk describes how recent advances in algorithms for solving instances of Boolean satisfiability (SAT) can be exploited to relax this trade-off, resulting in analyses that are both more precise and more scalable than existing techniques. Two applications are discussed in detail: an analysis to find misuses of locks, and a static memory leak detector. In both cases a SAT-based analysis models program behavior down to the bit level while still scaling to millions of lines of code; both analyses also find more bugs with fewer false positives than previous methods.

Speaker Details

Alex Aiken is a Professor of Computer Science at Stanford University. Alex was previously a Research Staff Member at the IBM Almaden Research Center http://www.almaden.ibm.com/ and a Professor in the EECS department at UC Berkeley http://www.eecs.berkeley.edu before joining the Stanford faculty in 2003.

Date:
Speakers:
Alex Aiken
Affiliation:
Stanford University
    • Portrait of Jeff Running

      Jeff Running