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% more theorems than the best-performing of these base tools. Combining the three Passport-enhanced tools automatically proves 38% more theorems than the three base tools together, without Passport's enhancements. Finally, together, these base tools and Passport-enhanced tools prove 45% more theorems than the combined base 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.
翻译:正式核查系统属性是提高系统质量的最有效方法之一,但是其高手工劳动要求往往使系统成本高得令人望而却步。 自动化正式核查的工具,通过从证明公司学习检验公司来提出证明证据,刚刚开始显示其承诺。 这些工具之所以有效,是因为证据公司所包含的数据丰富。 这种丰富性来自证据开发者社区所遵循的典型惯例,以及由证明助理领导的逻辑系统。 然而,这种丰富性仍然没有得到充分利用,迄今为止大部分工作都侧重于结构,而不是最充分地提供证据数据。在本文件中,我们开发了全面自动化的标准化校验合成工具,通过从证据公司来系统探索如何最有效地利用证据数据的一个方面。由于证据公司所包含的数据十分丰富,因此这些工具是:分类词汇索引、子词序列建模和路径设计。我们比较了《护照》的三种现有基准工具:ASTA、Tac和Tok。在对头和头的比较中,护照系统进行了更高的测试,没有自动地证明45 % 的基基底工具比最基本工具更能证明。