2024

Natural Language Outlines for Code: Literate Programming in the LLM Era

Shi, Kensen, Altınbüken, Deniz, Anand, Saswat et al.

Understand

We propose using natural language outlines as a novel modality and interaction surface for providing AI assistance to developers throughout the software development process.

  • An NL outline for a code function comprises multiple statements written in concise prose, which partition the code and summarize its main ideas in the style of literate programming.
  • Crucially, we find that modern LLMs can generate accurate and high-quality NL outlines in practice.
  • Moreover, NL outlines enable a bidirectional sync between code and NL, where a developer can change either code or NL and have the LLM automatically update the other.

Reading the bibliography…