Passport: Improving Automated Formal Verification Using Identifiers
Alex Sanchez-Stern, Emily First, Timothy Zhou, Zhanna Kaufman, and Yuriy Brun, Talia Ringer

TL;DR
Passport is an automated proof-synthesis tool that leverages identifier information in proof data to significantly improve theorem proving success rates in formal verification.
Contribution
The paper introduces Passport, a novel proof-synthesis tool that systematically exploits identifier data through new encoding mechanisms, enhancing proof automation in Coq.
Findings
Passport proves 29% more theorems than the best base tool.
Combining Passport with base tools proves 38% more theorems than base tools alone.
Overall, the approach increases theorem proving success by 45%.
Abstract
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…
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
TopicsLogic, programming, and type systems · Software Engineering Research · Formal Methods in Verification
