PAC learning-based verification and model synthesis
Abstract
We introduce a novel technique for verification and model synthesis of sequential programs. Our technique is based on learning an approximate 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.
BibTeX
@inproceedings{Chen-al:ICSE16,
author = {Yu{-}Fang Chen and
Chiao Hsieh and
Ondrej Leng{\'{a}}l and
Tsung{-}Ju Lii and
Ming{-}Hsien Tsai and
Bow{-}Yaw Wang and
Farn Wang},
title = {{PAC} learning-based verification and model synthesis},
booktitle = {ICSE},
pages = {714--724},
publisher = {{ACM}},
year = {2016},
}