PAC Learning-Based Verification and Model Synthesis
  We introduce a novel technique for verification and model synthesis of
sequential programs. Our technique is based on learning a regular model of the
set of feasible paths in a program, and testing whether this model contains an
incorrect behavior. Exact learning algorithms require checking equivalence
between the model and the program, which is a difficult problem, in general
undecidable. Our learning procedure is therefore based on the framework of
probably approximately correct (PAC) learning, which uses sampling instead and
provides correctness guarantees expressed using the terms error probability and
confidence. Besides the verification result, our procedure also outputs the
model with the said correctness guarantees. Obtained preliminary experiments
show encouraging results, in some cases even outperforming mature software
verifiers.
