Choose Your Own Adventure: Non-Linear AI-Assisted Programming with EvoGraph

📅 2026-04-20
📈 Citations: 0
Influential: 0
📄 PDF

career value

193K/year
🤖 AI Summary
Current AI-powered programming assistants predominantly rely on linear chat interfaces, which hinder developers’ ability to non-linearly explore multiple solution paths and trace code modifications. To address this limitation, this work proposes EvoGraph—the first IDE plugin that models AI-assisted programming as an interactive development graph. EvoGraph explicitly captures the history of prompts, AI responses, and code changes in a graph structure, enabling branch exploration, state comparison, and rollback. By integrating automated history tracking, graph-based visualization, and state management, the approach provides a structured representation of human–AI collaboration. User studies demonstrate that EvoGraph significantly reduces cognitive load, enhances the safety and efficiency of iterative exploration, and strengthens developers’ understanding of and control over AI-generated code.

Technology Category

Application Category

📝 Abstract
Current AI-assisted programming tools are predominantly linear and chat-based, which deviates from the iterative and branching nature of programming itself. Our preliminary study with developers using AI assistants suggested that they often struggle to explore alternatives, manage prompting sequences, and trace changes. Informed by these insights, we created EvoGraph, an IDE plugin that integrates AI interactions and code changes as a lightweight and interactive development graph. EvoGraph automatically records a branching AI-assisted coding history and allows developers to manipulate the graph to compare, merge, and revisit prior collaborative AI programming states. Our user study with 20 participants revealed that EvoGraph addressed developers' challenges identified in our preliminary study while imposing lower cognitive load. Participants also found the graph-based representation supported safe exploration, efficient iteration, and reflection on AI-generated changes. Our work highlights design opportunities for tools to help developers make sense of and act on their problem-solving progress in the emerging AI-mediated programming context.
Problem

Research questions and friction points this paper is trying to address.

AI-assisted programming
non-linear programming
development graph
code exploration
programming iteration
Innovation

Methods, ideas, or system contributions that make the work stand out.

non-linear programming
AI-assisted development
development graph
branching history
interactive IDE plugin
🔎 Similar Papers
No similar papers found.