Understanding the Usability of AI Programming Assistants

03/30/2023
by   Jenny T. Liang, et al.
0

The software engineering community recently has witnessed widespread deployment of AI programming assistants, such as GitHub Copilot. However, in practice, developers do not accept AI programming assistants' initial suggestions at a high frequency. This leaves a number of open questions related to the usability of these tools. To understand developers' practices while using these tools and the important usability challenges they face, we administered a survey to a large population of developers and received responses from a diverse set of 410 developers. Through a mix of qualitative and quantitative analyses, we found that developers are most motivated to use AI programming assistants because they help developers reduce key-strokes, finish programming tasks quickly, and recall syntax, but resonate less with using them to help brainstorm potential solutions. We also found the most important reasons why developers do not use these tools are because these tools do not output code that addresses certain functional or non-functional requirements and because developers have trouble controlling the tool to generate the desired output. Our findings have implications for both creators and users of AI programming assistants, such as designing minimal cognitive effort interactions with these tools to reduce distractions for users while they are programming.

READ FULL TEXT

page 5

page 7

research
05/18/2023

Investigating and Designing for Trust in AI-powered Code Generation Tools

As AI-powered code generation tools such as GitHub Copilot become popula...
research
07/15/2021

One Thousand and One Stories: A Large-Scale Survey of Software Refactoring

Despite the availability of refactoring as a feature in popular IDEs, re...
research
06/30/2022

GitHub Copilot AI pair programmer: Asset or Liability?

Automatic program synthesis is a long-lasting dream in software engineer...
research
09/27/2019

Technical Debt and Waste in Non-Functional Requirements Documentation: An Exploratory Study

Background: To adequately attend to non-functional requirements (NFRs), ...
research
05/31/2023

AI for Low-Code for AI

Low-code programming allows citizen developers to create programs with m...
research
12/17/2021

Hashing It Out: A Survey of Programmers' Cannabis Usage, Perception, and Motivation

Cannabis is one of the most common mind-altering substances. It is used ...
research
10/31/2019

Explicit Programming Strategies

Software developers solve a diverse and wide range of problems. While so...

Please sign up or login with your details

Forgot password? Click here to reset