Passport: Improving Automated Formal Verification Using Identifiers

04/21/2022
by   Alex Sanchez-Stern, et al.
0

Formally verifying system properties is one of the most effective ways of improving system quality, but its high manual effort requirements often render it prohibitively expensive. Tools that automate formal verification, by learning from proof corpora to suggest proofs, have just begun to show their promise. These tools are effective because of the richness of the data the proof corpora contain. This richness comes from the stylistic conventions followed by communities of proof developers, together with the logical systems beneath proof assistants. However, this richness remains underexploited, with most work thus far focusing on architecture rather than making the most of the proof data. In this paper, we develop Passport, a fully-automated proof-synthesis tool that systematically explores how to most effectively exploit one aspect of that proof data: identifiers. Passport enriches a predictive Coq model with three new encoding mechanisms for identifiers: category vocabulary indexing, subword sequence modeling, and path elaboration. We compare Passport to three existing base tools which Passport can enhance: ASTactic, Tac, and Tok. In head-to-head comparisons, Passport automatically proves 29 best-performing of these base tools. Combining the three Passport-enhanced tools automatically proves 38 together, without Passport's enhancements. Finally, together, these base tools and Passport-enhanced tools prove 45 tools without Passport's enhancements. Overall, our findings suggest that modeling identifiers can play a significant role in improving proof synthesis, leading to higher-quality software.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/08/2023

Baldur: Whole-Proof Generation and Repair with Large Language Models

Formally verifying software properties is a highly desirable but labor-i...
research
07/06/2021

A Framework for Proof-carrying Logical Transformations

In various provers and deductive verification tools, logical transformat...
research
07/17/2019

Generating Correctness Proofs with Neural Networks

Foundational verification allows programmers to build software which has...
research
12/05/2022

Leroy and Blazy were right: their memory model soundness proof is automatable (Extended Version)

Xavier Leroy and Sandrine Blazy in 2007 conducted a formal verification,...
research
08/17/2011

Premise Selection for Mathematics by Corpus Analysis and Kernel Methods

Smart premise selection is essential when using automated reasoning as a...
research
08/07/2022

UCLID5: Multi-Modal Formal Modeling, Verification, and Synthesis

UCLID5 is a tool for the multi-modal formal modeling, verification, and ...
research
01/03/2022

Spreads and Packings of PG(3,2), Formally!

We study how to formalize in the Coq proof assistant the smallest projec...

Please sign up or login with your details

Forgot password? Click here to reset