Programming and Interaction

会議の名前
CHI 2025
How Humans Communicate Programming Tasks in Natural Language and Implications For End-User Programming with LLMs
要旨

Large language models (LLMs) like GPT-4 can convert natural-language descriptions of a task into computer code, making them a promising interface for end-user programming. We undertake a systematic analysis of how people with and without programming experience describe information-processing tasks (IPTs) in natural language, focusing on the characteristics of successful communication. Across two online between-subjects studies, we paired crowdworkers either with one another or with an LLM, asking senders (always humans) to communicate IPTs in natural language to their receiver (either a human or LLM). Both senders and receivers tried to answer test cases, the latter based on their sender's description. While participants with programming experience tended to communicate IPTs more successfully than non-programmers, this advantage was not overwhelming. Furthermore, a user interface that solicited example test cases from senders often, but not always, improved IPT communication. Allowing receivers to request clarification, though, was less successful at improving communication.

著者
Madison Pickering
University of Chicago, Chicago, Illinois, United States
Helena Williams
University of Chicago, Chicago, Illinois, United States
Alison Gan
University of Chicago, Chicago, Illinois, United States
Weijia He
University of Southampton, Southampton, United Kingdom
Hyojae Park
Carnegie Mellon University, Pittsburgh, Pennsylvania, United States
Francisco Piedrahita Velez
Brown University, Providence, Rhode Island, United States
Michael L.. Littman
Brown University, Providence, Rhode Island, United States
Blase Ur
University of Chicago, Chicago, Illinois, United States
DOI

10.1145/3706598.3713271

論文URL

https://dl.acm.org/doi/10.1145/3706598.3713271

動画
InstructPipe: Generating Visual Blocks Pipelines with Human Instructions and LLMs
要旨

Visual programming has the potential of providing novice programmers with a low-code experience to build customized processing pipelines. Existing systems typically require users to build pipelines from scratch, implying that novice users are expected to set up and link appropriate nodes from a blank workspace. In this paper, we introduce InstructPipe, an AI assistant for prototyping machine learning (ML) pipelines with text instructions. We contribute two large language model (LLM) modules and a code interpreter as part of our framework. The LLM modules generate pseudocode for a target pipeline, and the interpreter renders the pipeline in the node-graph editor for further human-AI collaboration. Both technical and user evaluation (N=16) shows that InstructPipe empowers users to streamline their ML pipeline workflow, reduce their learning curve, and leverage open-ended commands to spark innovative ideas.

受賞
Honorable Mention
著者
Zhongyi Zhou
Google, Tokyo, Japan
Jing Jin
Google, Mountain View, California, United States
Vrushank Phadnis
Google, Mountain View, California, United States
Xiuxiu Yuan
Google, Mountain View, California, United States
Jun Jiang
Google, Sunnyvale, California, United States
Xun Qian
Google, Mountain View, California, United States
Kristen Wright
Google, Mountain View, California, United States
Mark Sherwood
Google, Mountain View, California, United States
Jason Mayes
Google, Mountain View, California, United States
Jingtao Zhou
Google, Mountain View, California, United States
Yiyi Huang
Google, Sunnyvale, California, United States
Zheng Xu
Google Research, Seattle, Washington, United States
Yinda Zhang
Google, Mountain View, California, United States
Johnny Lee
Google, Redmond, Washington, United States
Alex Olwal
Google Inc., Mountain View, California, United States
David Kim
Google Research, Zurich, Switzerland
Ram Iyengar
Google, Mountain View, California, United States
Na Li
Google, Palo Alto, California, United States
Ruofei Du
Google, San Francisco, California, United States
DOI

10.1145/3706598.3713905

論文URL

https://dl.acm.org/doi/10.1145/3706598.3713905

動画
An Investigation of Interaction and Information Needs for Protocol Reverse Engineering Automation
要旨

Protocol reverse engineering (ProtocolREing) consists of taking streams of network data and inferring the communication protocol. ProtocolREing is critical task in malware and system security analysis. Several ProtocolREing automation tools have been developed, however, in practice, they are not used because they offer limited interaction. Instead, reverse engineers (ProtocolREs) perform this task manually or use less complex visualization tools. To give ProtocolREs the power of more complex automation, we must first understand ProtocolREs processes and information and interaction needs to design better interfaces. We interviewed 16 ProtocolREs, presenting a paper prototype ProtocolREing automation interface, and ask them to discuss their approach to ProtocolREing while using the tool and suggest missing information and interactions. We designed our prototype based on existing ProtocolREing tool features and prior reverse engineering research's usability guidelines. We found ProtocolREs follow a flexible, hypothesis-driven process and identified multiple information and interaction needs when validating the automation's inferences. We provide suggestions for future interaction design.

受賞
Honorable Mention
著者
Samantha Katcher
Tufts University, Medford, Massachusetts, United States
James A. Mattei
Tufts University, Medford, Massachusetts, United States
Jared Chandler
Dartmouth College, Hanover, New Hampshire, United States
Daniel Votipka
Tufts University, Medford, Massachusetts, United States
DOI

10.1145/3706598.3713630

論文URL

https://dl.acm.org/doi/10.1145/3706598.3713630

動画
DynEx: Dynamic Code Synthesis with Structured Design Exploration for Accelerated Exploratory Programming
要旨

Recent advancements in large language models have significantly expedited the process of generating front-end code. This allows users to rapidly prototype user interfaces and ideate through code, a process known as exploratory programming. However, existing LLM code generation tools focus more on technical implementation details rather than finding the right design given a particular problem. We present DynEx, an LLM-based method for design exploration in accelerated exploratory programming. DynEx introduces a technique to explore the design space through a structured Design Matrix before creating the prototype with a modular, stepwise approach to LLM code generation. Code is generated sequentially, and users can test and approve each step before moving onto the next. A user study of 10 experts found that DynEx increased design exploration and enabled the creation of more complex and varied prototypes compared to a Claude Artifact baseline. We conclude with a discussion of the implications of design exploration for exploratory programming.

受賞
Honorable Mention
著者
Jenny Ma
Columbia University, New York, New York, United States
Karthik Sreedhar
Columbia University, New York, New York, United States
Vivian Liu
Columbia University, New York, New York, United States
Pedro A.. Perez
Columbia University, New York City, New York, United States
Sitong Wang
Columbia University, New York, New York, United States
Riya Sahni
Columbia University, New York, New York, United States
Lydia B. Chilton
Columbia University, New York, New York, United States
DOI

10.1145/3706598.3714115

論文URL

https://dl.acm.org/doi/10.1145/3706598.3714115

動画
Code Shaping: Iterative Code Editing with Free-form AI-Interpreted Sketching
要旨

We introduce the concept of code shaping, an interaction paradigm for editing code using free-form sketch annotations directly on top of the code and console output. To evaluate this concept, we conducted a three-stage design study with 18 different programmers to investigate how sketches can communicate intended code edits to an AI model for interpretation and execution. The results show how different sketches are used, the strategies programmers employ during iterative interactions with AI interpretations, and interaction design principles that support the reconciliation between the code editor and sketches. Finally, we demonstrate the practical application of the code shaping concept with two use case scenarios, illustrating design implications from the study.

受賞
Best Paper
著者
Ryan Yen
University of Waterloo, Waterloo, Ontario, Canada
Jian Zhao
University of Waterloo, Waterloo, Ontario, Canada
Daniel Vogel
University of Waterloo, Waterloo, Ontario, Canada
DOI

10.1145/3706598.3713822

論文URL

https://dl.acm.org/doi/10.1145/3706598.3713822

動画
How Scientists Use Large Language Models to Program
要旨

Scientists across disciplines write code for critical activities like data collection and generation, statistical modeling, and visualization. As large language models that can generate code have become widely available, scientists may increasingly use these models during research software development. We investigate the characteristics of scientists who are early-adopters of code generating models and conduct interviews with scientists at a public, research-focused university. Through interviews and reviews of user interaction logs, we see that scientists often use code generating models as an information retrieval tool for navigating unfamiliar programming languages and libraries. We present findings about their verification strategies and discuss potential vulnerabilities that may emerge from code generation practices unknowingly influencing the parameters of scientific analyses.

著者
Gabrielle O'Brien
University of Michigan, Ann Arbor, Michigan, United States
DOI

10.1145/3706598.3713668

論文URL

https://dl.acm.org/doi/10.1145/3706598.3713668

動画
FusAIn: Composing Generative AI Visual Prompts Using Pen-based Interaction
要旨

Although current generative AI (GenAI) enables designers to create novel images, its focus on text-based and whole-image interaction limits expressive engagement with visual materials. Based on the design concept of deconstruction and reconstruction of digital visual attributes for visual prompts, we present FusAIn, a GenAI prompt composition tool that lets designers create personalized pens by loading them with objects or attributes such as color or texture. GenAI then fuses the pen's contents to create new images. Extracting and reusing inspirational material matches designers' existing work practices, making GenAI more contextualized for professional design. A study with 12 designers shows how FusAIn improves their ability to define visual details at different levels that are difficult to express with current GenAI prompts. Pen-based interaction lets them maintain fine-grained control over generated results, increasing GenAI image's editability and reusability. We discuss the benefits of "composition as prompts" and directions for future research.

著者
Xiaohan Peng
Université Paris-Saclay, CNRS, Inria, Orsay, France
Janin Koch
UMR 9189 CRIStAL, Lille, France
Wendy E.. Mackay
Université Paris-Saclay, CNRS, Inria, Orsay, France
DOI

10.1145/3706598.3714027

論文URL

https://dl.acm.org/doi/10.1145/3706598.3714027

動画