Grounded Copilot: How Programmers Interact with Code-Generating Models

06/30/2022
by   Shraddha Barke, et al.
0

Powered by recent advances in code-generating models, AI assistants like Github Copilot promise to change the face of programming forever. But what is this new face of programming? We present the first grounded theory analysis of how programmers interact with Copilot, based on observing 20 participants–with a range of prior experience using the assistant–as they solve diverse programming tasks across four languages. Our main finding is that interactions with programming assistants are bimodal: in acceleration mode, the programmer knows what to do next and uses Copilot to get there faster; in exploration mode, the programmer is unsure how to proceed and uses Copilot to explore their options. Based on our theory, we provide recommendations for improving the usability of future AI programming assistants.

READ FULL TEXT

page 1

page 8

page 9

page 10

page 11

page 12

page 14

page 15

research
04/05/2023

"It's Weird That it Knows What I Want": Usability and Interactions with Copilot for Novice Programmers

Recent developments in deep learning have resulted in code-generation mo...
research
11/07/2022

Do Users Write More Insecure Code with AI Assistants?

We conduct the first large-scale user study examining how users interact...
research
06/15/2023

Live Exploration of AI-Generated Programs

AI-powered programming assistants are increasingly gaining popularity, w...
research
06/08/2023

When to Show a Suggestion? Integrating Human Feedback in AI-Assisted Programming

AI powered code-recommendation systems, such as Copilot and CodeWhispere...
research
04/15/2022

AI-driven Development Is Here: Should You Worry?

AI-Driven Development Environments (AIDEs) Integrate the power of modern...
research
08/12/2022

What is it like to program with artificial intelligence?

Large language models, such as OpenAI's codex and Deepmind's AlphaCode, ...
research
05/26/2017

Learnable Programming: Blocks and Beyond

Blocks-based programming has become the lingua franca for introductory c...

Please sign up or login with your details

Forgot password? Click here to reset