Learning to verify branching time properties

  • Authors:
  • Abhay Vardhan;Mahesh Viswanathan

  • Affiliations:
  • Google, Inc., Urbana, Illinois;Dept. of Computer Science, Univ. of Illinois at Urbana-Champaign, Urbana, USA

  • Venue:
  • Formal Methods in System Design
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a new model checking algorithm for verifying computation tree logic (CTL) properties. Our technique is based on using language inference to learn the fixpoints necessary for checking a CTL formula instead of computing them iteratively as is done in traditional model checking. This allows us to analyze infinite or large state-space systems where the traditional iterations may not converge or may take too long to converge. We allow fairness constraints to be specified for verification of various liveness properties. The main challenge in developing a learning based model checking algorithm for CTL is that CTL properties express nested fixpoints. We overcome this challenge by developing a new characterization of CTL properties in terms of functions that have unique fixpoints. We instantiate our technique to systems in which states are encoded as strings and use a regular inference algorithm to learn the CTL fixpoints. We prove that if the fixpoints have a regular representation, our procedure will always terminate with the correct answer. We have extended our Lever tool to use the technique presented in this paper and demonstrate its effectiveness by verifying a number of parametric and integer systems.