Using Machine Learning to Verify Systems

Automated verification of software systems is a challenging problem because of their large (and often infinite) state-space. In this talk, we explore techniques from computational learning theory for verification of such systems. We show that learning can be effectively used to verify safety properties as well as liveness properties with fairness constraints. We can analyze both linear time and branching time temporal logics (more precisely omega-regular properties and Computational Tree Logic). We represent the states of the system as strings over some alphabet and use Angluin’s algorithm for learning regular sets. We show that the learning based verification procedure is sound and, more interestingly, also complete if the fixpoints needed for verification are in fact regular. Finally, we conclude with discussion about a tool called LEVER which implements these techniques and some examples that we have analyzed using the tool.

Speaker Details

Abhay Vardhan is a PhD candidate in Computer Science at the University of Illinois at Urbana Champaign and expects to graduate in Fall 2005. His research interests are broadly in the area of verification of software systems. His dissertation focuses on applying techniques from computational learning to verification problems. Abhay holds an MS in Computer Science also from University of Illinois and a Bachelor of Technology degree from Indian Institute of Technology. Abhay is also a Member of the Technical Staff at Motorola.

Date:
Speakers:
Abhay Vardhan
Affiliation:
University of Illinois at Urbana
    • Portrait of Jeff Running

      Jeff Running