Practices and Challenges of Using GitHub Copilot: An Empirical Study

AI-generated keywords: Empirical Study GitHub Copilot Programming Auto-completed Source Code Challenges

AI-generated Key Points

  • Key points from the text:
  • Study conducted by researchers from Wuhan University and Lancaster University Leipzig on GitHub Copilot in programming
  • Data collected from Stack Overflow and GitHub Discussions
  • Major programming languages used: JavaScript and Python
  • Main IDE utilized: Visual Studio Code
  • Common technologies paired with Copilot: Node.js
  • Primary functions implemented: data processing
  • Significant benefits observed: useful code generation
  • Main limitations faced by practitioners: difficulty of integration
  • Analysis method used descriptive statistics for RQ1, RQ2, and RQ3; Constant Comparison method for RQ4, RQ5, and RQ6
  • Functions categorized based on developers' discussions through coding and categorization processes
  • Study provides foundation for future research on Copilot as an AI pair programmer in software development
Also access our AI generated: Comprehensive summary, Lay summary, Blog-like article; or ask questions about this paper to our AI assistant.

Authors: Beiqi Zhang, Peng Liang, Xiyu Zhou, Aakash Ahmad, Muhammad Waseem

The 35th International Conference on Software Engineering and Knowledge Engineering (SEKE)
License: CC BY 4.0

Abstract: With the advances in machine learning, there is a growing interest in AI-enabled tools for autocompleting source code. GitHub Copilot, also referred to as the "AI Pair Programmer", has been trained on billions of lines of open source GitHub code, and is one of such tools that has been increasingly used since its launch on June 2021. However, little effort has been devoted to understanding the practices and challenges of using Copilot in programming with auto-completed source code. To this end, we conducted an empirical study by collecting and analyzing the data from Stack Overflow (SO) and GitHub Discussions. More specifically, we searched and manually collected 169 SO posts and 655 GitHub discussions related to the usage of Copilot. We identified the programming languages, IDEs, technologies used with Copilot, functions implemented, benefits, limitations, and challenges when using Copilot. The results show that when practitioners use Copilot: (1) The major programming languages used with Copilot are JavaScript and Python, (2) the main IDE used with Copilot is Visual Studio Code, (3) the most common used technology with Copilot is Node.js, (4) the leading function implemented by Copilot is data processing, (5) the significant benefit of using Copilot is useful code generation, and (6) the main limitation encountered by practitioners when using Copilot is difficulty of integration. Our results suggest that using Copilot is like a double-edged sword, which requires developers to carefully consider various aspects when deciding whether or not to use it. Our study provides empirically grounded foundations and basis for future research on the role of Copilot as an AI pair programmer in software development.

Submitted to arXiv on 15 Mar. 2023

Ask questions about this paper to our AI assistant

You can also chat with multiple papers at once here.

AI assistant instructions?

Results of the summarizing process for the arXiv paper: 2303.08733v3

This empirical study conducted by Beiqi Zhang, Peng Liang, Xiyu Zhou, Aakash Ahmad, and Muhammad Waseem from Wuhan University and Lancaster University Leipzig focuses on understanding the practices and challenges of using GitHub Copilot in programming with auto-completed source code. The researchers collected and analyzed data from Stack Overflow (SO) and GitHub Discussions to identify key aspects such as major programming languages used (JavaScript and Python), main IDE utilized (Visual Studio Code), common technologies paired with Copilot (Node.js), primary functions implemented (data processing), significant benefits observed (useful code generation), and main limitations faced by practitioners (difficulty of integration). The results highlight that while using Copilot can be beneficial for code generation, it also presents challenges that developers must carefully consider before integrating it into their workflows. The analysis method employed descriptive statistics for RQ1, RQ2, and RQ3, while qualitative data analysis using the Constant Comparison method was applied for RQ4, RQ5, and RQ6. Functions were categorized based on developers' discussions through rigorous coding and categorization processes to ensure accuracy. This study provides a solid foundation for future research on the role of Copilot as an AI pair programmer in software development. Overall, this comprehensive study sheds light on the practical implications of utilizing GitHub Copilot in programming tasks and offers valuable insights into its benefits, limitations, and challenges.
Created on 12 May. 2025

Assess the quality of the AI-generated content by voting

Score: 0

Why do we need votes?

Votes are used to determine whether we need to re-run our summarizing tools. If the count reaches -10, our tools can be restarted.

Similar papers summarized with our AI tools

Navigate through even more similar papers through a

tree representation

Look for similar papers (in beta version)

By clicking on the button above, our algorithm will scan all papers in our database to find the closest based on the contents of the full papers and not just on metadata. Please note that it only works for papers that we have generated summaries for and you can rerun it from time to time to get a more accurate result while our database grows.

Disclaimer: The AI-based summarization tool and virtual assistant provided on this website may not always provide accurate and complete summaries or responses. We encourage you to carefully review and evaluate the generated content to ensure its quality and relevance to your needs.