Algorithm Selection for Software Verification using Graph Neural Networks
Will Leeson, Matthew B Dwyer

TL;DR
This paper introduces Graves, a graph neural network-based system that predicts the most effective verification algorithm for a given program, significantly improving selection accuracy and problem verification success rates.
Contribution
It presents a novel GNN-based approach for algorithm selection in software verification, outperforming existing methods in accuracy and problem coverage.
Findings
Improves verification algorithm selection accuracy by 12%.
Verifies 9% more problems than existing verifiers.
Model learns to base predictions on program features.
Abstract
The field of software verification has produced a wide array of algorithmic techniques that can prove a variety of properties of a given program. It has been demonstrated that the performance of these techniques can vary up to 4 orders of magnitude on the same verification problem. Even for verification experts, it is difficult to decide which tool will perform best on a given problem. For general users, deciding the best tool for their verification problem is effectively impossible. In this work, we present Graves, a selection strategy based on graph neural networks (GNNs). Graves generates a graph representation of a program from which a GNN predicts a score for a verifier that indicates its performance on the program. We evaluate Graves on a set of 10 verification tools and over 8000 verification problems and find that it improves the state-of-the-art in verification algorithm…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Adversarial Robustness in Machine Learning · Machine Learning in Materials Science
