Litcius/Paper detail

Beyond Code Generation: LLM-supported Exploration of the Program Design Space

J.D. Zamfirescu-Pereira, Eunice Jun, Michael Terry, Qian Yang, Bjoern Hartmann

202527 citationsDOIOpen Access PDF

Abstract

In this work, we explore explicit Large Language Model (LLM)powered support for the iterative design of computer programs.Program design, like other design activity, is characterized by navigating a space of alternative problem formulations and associated solutions in an iterative fashion.LLMs are potentially powerful tools in helping this exploration; however, by default, code-generation LLMs deliver code that represents a particular point solution.This obscures the larger space of possible alternatives, many of which might be preferable to the LLM's default interpretation and its generated code.We contribute an IDE that supports program design through generating and showing new ways to frame problems alongside alternative solutions, tracking design decisions, and identifying implicit decisions made by either the programmer or the LLM.In a user study, we find that with our IDE, users combine and parallelize design phases to explore a broader design space-but also struggle to keep up with LLM-originated changes to code and other information overload.These findings suggest a core challenge for future IDEs that support program design through higher-level instructions given to LLM-based agents: carefully managing attention and deciding what information agents should surface to program designers and when.

Topics & Concepts

Computer scienceSpace (punctuation)Code (set theory)Space programSoftware engineeringCode generationDesign space explorationProgramming languageSystems engineeringHuman–computer interactionEngineeringEmbedded systemComputer securityOperating systemSet (abstract data type)Key (lock)Software Engineering Techniques and PracticesSoftware Engineering ResearchScientific Computing and Data Management