Algorithmic Software Verification
Speaker: Ranjit Jhala, University of California, San Diego
Location: Warren Weaver Hall 1302
Date: March 26, 2010, 11:30 a.m.
Host: Richard Cole
Software is everywhere, and yet, extremely unreliable. One key to reliability is the design of cost-effective techniques whereby developers can formally specify the essential properties of their code, and, machines can rigorously verify that the properties hold, or demonstrate corner cases where they fail. In this talk, we describe two such techniques. First, a scheme that combines logical predicates and type systems to automatically compute safety proofs. Second, an approach that uses random walks to find liveness bugs in distributed systems. We describe the key algorithmic insights underlying these approaches and the resulting tools that have helped verify and find subtle defects in a variety of complex software.
Ranjit Jhala is an Assistant Professor in the Department of Computer Science and Engineering at UC San Diego. He is interested in applying techniques from Programming Languages and Software Engineering to solve computing problems, in particular, to build reliable computer systems. His work draws from, combines and contributes to methods the areas of Model Checking, Program Analysis, Type Systems and Automated Deduction.
Refreshments will be offered starting 15 minutes prior to the scheduled start of the talk.