Algorithm Selection for Software Verification using Graph Attention Networks

01/27/2022
by   Will Leeson, et al.
0

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 selection by 11%. We conjecture this is in part due to Graves' use of GNNs with attention mechanisms. Through a qualitative study on model interpretability, we find strong evidence that the Graves' GNN-based model learns to base its predictions on factors that relate to the unique features of the algorithmic techniques.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/27/2021

Neural Network Branch-and-Bound for Neural Network Verification

Many available formal verification methods have been shown to be instanc...
research
06/24/2021

Visualizing Graph Neural Networks with CorGIE: Corresponding a Graph to Its Embedding

Graph neural networks (GNNs) are a class of powerful machine learning to...
research
04/17/2023

GrOVe: Ownership Verification of Graph Neural Networks using Embeddings

Graph neural networks (GNNs) have emerged as a state-of-the-art approach...
research
06/10/2022

We Cannot Guarantee Safety: The Undecidability of Graph Neural Network Verification

Graph Neural Networks (GNN) are commonly used for two tasks: (whole) gra...
research
12/07/2022

Assessing and Analyzing the Resilience of Graph Neural Networks Against Hardware Faults

Graph neural networks (GNNs) have recently emerged as a promising learni...
research
03/17/2023

Distill n' Explain: explaining graph neural networks using simple surrogates

Explaining node predictions in graph neural networks (GNNs) often boils ...
research
10/23/2020

Learning to Execute Programs with Instruction Pointer Attention Graph Neural Networks

Graph neural networks (GNNs) have emerged as a powerful tool for learnin...

Please sign up or login with your details

Forgot password? Click here to reset