DeepAI AI Chat
Log In Sign Up

Roosterize: Suggesting Lemma Names for Coq Verification Projects Using Deep Learning

by   Pengyu Nie, et al.

Naming conventions are an important concern in large verification projects using proof assistants, such as Coq. In particular, lemma names are used by proof engineers to effectively understand and modify Coq code. However, providing accurate and informative lemma names is a complex task, which is currently often carried out manually. Even when lemma naming is automated using rule-based tools, generated names may fail to adhere to important conventions not specified explicitly. We demonstrate a toolchain, dubbed Roosterize, which automatically suggests lemma names in Coq projects. Roosterize leverages a neural network model trained on existing Coq code, thus avoiding manual specification of naming conventions. To allow proof engineers to conveniently access suggestions from Roosterize during Coq project development, we integrated the toolchain into the popular Visual Studio Code editor. Our evaluation shows that Roosterize substantially outperforms strong baselines for suggesting lemma names and is useful in practice. The demo video for Roosterize can be viewed at:


page 1

page 2

page 3

page 4


Deep Generation of Coq Lemma Names Using Elaborated Terms

Coding conventions for naming, spacing, and other essentially stylistic ...

Context2Name: A Deep Learning-Based Approach to Infer Natural Variable Names from Usage Contexts

Most of the JavaScript code deployed in the wild has been minified, a pr...

Substation Signal Matching with a Bagged Token Classifier

Currently, engineers at substation service providers match customer data...

Identifying Algorithm Names in Code Comments

For recent machine-learning-based tasks like API sequence generation, co...

A Pattern-based Approach to Detect and Improve Non-descriptive Test Names

Unit tests are an important artifact that supports the software developm...

Learning to Format Coq Code Using Language Models

Should the final right bracket in a record declaration be on a separate ...

It Runs in the Family: Searching for Similar Names using Digitized Family Trees

Searching for a person's name is a common online activity. However, web ...