Roosterize: Suggesting Lemma Names for Coq Verification Projects Using Deep Learning
Pengyu Nie, Karl Palmskog, Junyi Jessy Li, Milos Gligoric

TL;DR
Roosterize is a deep learning-based tool integrated into Visual Studio Code that automatically suggests meaningful lemma names for Coq verification projects, improving over rule-based methods and aiding proof engineers.
Contribution
This paper introduces Roosterize, a novel neural network-based tool that automates lemma naming in Coq projects, integrating seamlessly into popular development environments.
Findings
Roosterize outperforms baseline methods in suggesting lemma names.
The tool is practical and useful for proof engineers.
Integration into Visual Studio Code enhances usability.
Abstract
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.…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Web Application Security Vulnerabilities · Software Testing and Debugging Techniques
