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

03/01/2021
by   Pengyu Nie, et al.
0

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: https://youtu.be/HZ5ac7Q14rc.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/16/2020

Deep Generation of Coq Lemma Names Using Elaborated Terms

Coding conventions for naming, spacing, and other essentially stylistic ...
research
08/31/2018

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...
research
02/13/2018

Substation Signal Matching with a Bagged Token Classifier

Currently, engineers at substation service providers match customer data...
research
07/10/2019

Identifying Algorithm Names in Code Comments

For recent machine-learning-based tasks like API sequence generation, co...
research
06/28/2017

Generating Appealing Brand Names

Providing appealing brand names to newly launched products, newly formed...
research
06/18/2020

Learning to Format Coq Code Using Language Models

Should the final right bracket in a record declaration be on a separate ...
research
12/09/2019

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 ...

Please sign up or login with your details

Forgot password? Click here to reset