DeepAI AI Chat
Log In Sign Up

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

04/16/2020

Deep Generation of Coq Lemma Names Using Elaborated Terms

Coding conventions for naming, spacing, and other essentially stylistic ...
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...
02/13/2018

Substation Signal Matching with a Bagged Token Classifier

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

Identifying Algorithm Names in Code Comments

For recent machine-learning-based tasks like API sequence generation, co...
05/11/2020

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

Unit tests are an important artifact that supports the software developm...
06/18/2020

Learning to Format Coq Code Using Language Models

Should the final right bracket in a record declaration be on a separate ...
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 ...