From Copilot to Pilot: Towards AI Supported Software Development

03/07/2023
by   Rohith Pudari, et al.
0

AI-supported programming has arrived, as shown by the introduction and successes of large language models for code, such as Copilot/Codex (Github/OpenAI) and AlphaCode (DeepMind). Above human average performance on programming challenges is now possible. However, software engineering is much more than solving programming contests. Moving beyond code completion to AI-supported software engineering will require an AI system that can, among other things, understand how to avoid code smells, to follow language idioms, and eventually (maybe!) propose rational software designs. In this study, we explore the current limitations of AI-supported code completion tools like Copilot and offer a simple taxonomy for understanding the classification of AI-supported code completion tools in this space. We first perform an exploratory study on Copilot's code suggestions for language idioms and code smells. Copilot does not follow language idioms and avoid code smells in most of our test scenarios. We then conduct additional investigation to determine the current boundaries of AI-supported code completion tools like Copilot by introducing a taxonomy of software abstraction hierarchies where 'basic programming functionality' such as code compilation and syntax checking is at the least abstract level, software architecture analysis and design are at the most abstract level. We conclude by providing a discussion on challenges for future development of AI-supported code completion tools to reach the design level of abstraction in our taxonomy.

READ FULL TEXT

page 1

page 7

page 8

research
04/24/2023

Is ChatGPT the Ultimate Programming Assistant – How far is it?

The recent progress in generative AI techniques has significantly influe...
research
07/04/2023

Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Review

This paper provides a comprehensive review of the literature concerning ...
research
01/05/2023

Chatbots As Fluent Polyglots: Revisiting Breakthrough Code Snippets

The research applies AI-driven code assistants to analyze a selection of...
research
02/10/2022

Investigating Explainability of Generative AI for Code through Scenario-based Design

What does it mean for a generative AI model to be explainable? The emerg...
research
06/04/2023

Prompt Sapper: LLM-Empowered Software Engineering Infrastructure for AI-Native Services

Foundation models, such as GPT-4, DALL-E have brought unprecedented AI "...
research
08/17/2022

CCTEST: Testing and Repairing Code Completion Systems

Code completion, a highly valuable topic in the software development dom...
research
11/29/2019

Pythia: AI-assisted Code Completion System

In this paper, we propose a novel end-to-end approach for AI-assisted co...

Please sign up or login with your details

Forgot password? Click here to reset