PAC Learning-Based Verification and Model Synthesis
This addresses the verification challenge for sequential programs, offering a novel approach with correctness guarantees, though it appears incremental as it builds on existing PAC learning frameworks.
The authors tackled the problem of verifying sequential programs by introducing a PAC learning-based technique that learns a regular model of feasible paths and tests for incorrect behaviors, with preliminary experiments showing encouraging results, sometimes outperforming mature software verifiers.
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.