Algorithm Selection for Software Verification using Graph Neural Networks

Author:

Leeson Will1,Dwyer Matthew B.1

Affiliation:

1. University of Virginia, USA

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 selection by 12%, or 8 percentage points. Further, it is able to verify 9% more problems than any existing verifier on our test set. Through a qualitative study on model interpretability, we find strong evidence that the Graves ’ model learns to base its predictions on factors that relate to the unique features of the algorithmic techniques.

Publisher

Association for Computing Machinery (ACM)

Subject

Software

Reference107 articles.

1. 2019. Clang: a C language family frontend for LLVM. https://clang@inproceedingsbeyer2022coveriteam title=CoVeriTeam: On-demand composition of cooperative verification systems author=Beyer Dirk and Kanav Sudeep booktitle=International Conference on Tools and Algorithms for the Construction and Analysis of Systems pages=561--579 year=2022 organization=Springer ias and Lenssen Jan E. 2019. Clang: a C language family frontend for LLVM. https://clang@inproceedingsbeyer2022coveriteam title=CoVeriTeam: On-demand composition of cooperative verification systems author=Beyer Dirk and Kanav Sudeep booktitle=International Conference on Tools and Algorithms for the Construction and Analysis of Systems pages=561--579 year=2022 organization=Springer ias and Lenssen Jan E.

2. A Aho , M Lam , R Sethi , J Ullman , Keith Cooper , Linda Torczon , and S Muchnick . 2007 . Compilers: Principles, Techniques and Tools. (2007). A Aho, M Lam, R Sethi, J Ullman, Keith Cooper, Linda Torczon, and S Muchnick. 2007. Compilers: Principles, Techniques and Tools. (2007).

3. Understanding of a convolutional neural network

4. A Survey of Machine Learning for Big Code and Naturalness

5. Miltiadis Allamanis Marc Brockschmidt and Mahmoud Khademi. 2017. Learning to represent programs with graphs. arXiv preprint arXiv:1711.00740(2017). Miltiadis Allamanis Marc Brockschmidt and Mahmoud Khademi. 2017. Learning to represent programs with graphs. arXiv preprint arXiv:1711.00740(2017).

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3