The First Workshop on Natural Language Processing for Programming

Call for Papers


All deadlines are 11:59 PM AoE time.

  • Workshop Paper Due Date: April 26, 2021 May 3, 2021 (extended)
  • Notification of acceptance: May 28, 2021
  • Camera-ready papers due: June 7, 2021
  • Workshop date: August 5 or 6, 2021

Update March 27th: We do not set any anonimity period (e.g., submitting to arXiv concurrently is allowed).

List of Topics 

This workshop aims to bring together researchers from different disciplines related to using natural language processing to assist programming. As such, the workshop welcomes and covers a wide range of topics, including (non-exclusively):

  • (Interactive) program synthesis, editing and autocompletion based on natural language. Natural language can be used to specify a user’s intent for a program, with applications ranging from database querying in SQL, regex synthesis, plot generation, and more. How do we interpret this language and synthesize the right program in a domain-specific language while respecting constraints such as well-formedness, correctness, and efficiency? And how can we allow a user to understand what the program is doing and interact with the system to improve it?
  • Understanding natural language descriptions of source code. Language is used in many ways to annotate/describe source code: comments in code, documentation, specifications, posts on Stack Overflow, and more. This language is grounded in the code that it relates to, describing or relying on properties of that code’s syntax or semantics.
  • Annotating programs in natural language. Developers use natural language elements to document various aspects of code, including high-level overview of functionality, use cases, and pre/post-conditions. These elements are crucial for code comprehension and serve as key communication mechanisms among developers. How do we generate and maintain coherent, informative, and useful natural language elements, especially in an era where software evolves constantly?
  • Programming for NLP. Program structure is a fundamental part of some problems in NLP. In information extraction, data programming or the use of labeling functions allows easy scaling of annotation. In question answering, tasks involving tables, multi-step reasoning, or numerical reasoning are often grounded in programs. How can the language involved in these cases give rise to program structure, and what is special about these programs that execute on natural language?
  • Applying NLP to debug and repair existing programs. Much of the process of assessing a program, towards debugging, repairing or refactoring, is done using NL messages and logs. Can we use NLU technologies to aid program evaluation and assessment? Specifically, can we use NLP to parse diagnostic messages and predict certain bugs or flaws? Can we mine long natural language message logs to track and identify certain logical processes? Can we use Natural Language technology to detect (in)appropriate links between variables according to their names’ significant meanings? Here we are intersted in any way in which NL output helps the programming and software evaluation process.
  • Pre-trained language models for programming. Developing and understanding large-scale language models pre-trained on code repositories or jointly with text and code, to autocomplete, synthesize, repair programs, and more.

Submission Guidelines

We welcome two types of papers: regular workshop papers and non-archival submissions. Only regular workshop papers will be included in the workshop proceedings. All submissions should be in PDF format and made through the Softconf website set up for this workshop ( In line with the ACL main conference policy, camera-ready versions of papers will be given one additional page of content.

  • Regular workshop papers: Authors should submit a paper up to 8 pages (both short and long papers are welcome), with unlimited pages for references, following the ACL-IJCNLP 2021 formatting requirements. The reported research should be substantially original. All submissions will be reviewed in a single track, regardless of length. Accepted papers will be presented as posters, and best papers may be given the opportunity for a brief talk to introduce their work. Reviewing will be double-blind, and thus no author information should be included in the papers; self-reference that identifies the authors should be avoided or anonymised. Accepted papers will appear in the workshop proceedings.

  • Non-archival submissions: We also solicit cross-submissions, i.e., papers on relevant topics that have appeared in other venues (e.g., workshop or conference papers at NeurIPS/ICML/ICLR/AAAI/SIGKDD/ICRA/SIGCHI/ICSE/FSE/PLDI/EMNLP, among others). Accepted papers will be presented at the workshop, with an indication of original venue, but will not be included in the workshop proceedings. Cross-submissions are ideal for related work which would benefit from exposure to the NLP4Prog audience. Interested authors should submit their papers in PDF format through the NLP4Prog Softconf website, with a note on the original venue (Update April 23rd: Authors can simply submit a camera-ready version of their published papers, with author and the original venue information included). Papers in this category do not need to follow the ACL format, and the submission length is determined by the original venue. The paper selection will be solely determined by the organizing committee.

In addition, We welcome papers on relevant topics that are under review or to be submitted to other venues (including the ACL-IJCNLP 2021 main conference). However, these papers must follow the regular workshop paper format and will not be included in the workshop proceedings. Papers in this category will be reviewed by workshop reviewers.

Note to authors: While you submit your paper through Softconf (, please select the “Submission Type” properly based on the guidelines.

For questions about the submission guidelines, please contact workshop organizers via