ML + FV = ? A Survey on the Application of Machine Learning to Formal Verification
arXiv:1806.03600
Abstract
Formal Verification (FV) and Machine Learning (ML) can seem incompatible due to their opposite mathematical foundations and their use in real-life problems: FV mostly relies on discrete mathematics and aims at ensuring correctness; ML often relies on probabilistic models and consists of learning patterns from training data. In this paper, we postulate that they are complementary in practice, and explore how ML helps FV in its classical approaches: static analysis, model-checking, theorem-proving, and SAT solving. We draw a landscape of the current practice and catalog some of the most prominent uses of ML inside FV tools, thus offering a new perspective on FV techniques that can help researchers and practitioners to better locate the possible synergies. We discuss lessons learned from our work, point to possible improvements and offer visions for the future of the domain in the light of the science of software and systems modeling.
arXiv comment13 pages, no figures, 3 tables
References in corpus (10)
- End to End Learning for Self-Driving Cars
- Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm
- SATzilla: Portfolio-based Algorithm Selection for SAT
- Explaining How a Deep Neural Network Trained with End-to-End Learning Steers a Car
- Learning a SAT Solver from Single-Bit Supervision
- A Bayesian Approach to Tackling Hard Computational Problems
- DeepMath - Deep Sequence Models for Premise Selection
- Machine Learning in Proof General: Interfacing Interfaces
- Android Malware Detection: an Eigenspace Analysis Approach
- Restart Strategy Selection using Machine Learning Techniques