Natural Language Outlines for Code: Literate Programming in the LLM Era
Kensen Shi, Deniz Alt{\i}nb\"uken, Saswat Anand, Mihai Christodorescu,, Katja Gr\"unwedel, Alexa Koenings, Sai Naidu, Anurag Pathak, Marc Rasi,, Fredde Ribeiro, Brandon Ruffin, Siddhant Sanyam, Maxim Tabachnyk, Sara Toth,, Roy Tu, Tobias Welp, Pengcheng Yin, Manzil Zaheer

TL;DR
This paper introduces natural language outlines as a new way for developers to interact with code and leverage LLMs for tasks like understanding, editing, and reviewing software, enhancing the coding process.
Contribution
It demonstrates that LLMs can generate accurate NL outlines, enabling bidirectional updates between code and natural language, and explores multiple applications and prompting techniques.
Findings
LLMs can produce high-quality natural language outlines for code.
NL outlines facilitate code understanding, navigation, and maintenance.
Case studies show effectiveness in code review and malware detection.
Abstract
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. We discuss many use cases for NL outlines: they can accelerate understanding and navigation of code and diffs, simplify code maintenance, augment code search, steer code generation, and more. We then propose and compare multiple LLM prompting techniques for generating…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNatural Language Processing Techniques · Digital Rights Management and Security · Mathematics, Computing, and Information Processing
