GitHub Copilot

From AI Wiki

GitHub Copilot is an artificial intelligence (AI) tool that assists in coding. [1] [2] As the user types in code, the AI assistant provides different suggestions to complete it. [2] It's installed as an extension on IDEs like Visual Studio and VS Code. Its functionality ranges from auto-complete lines of code to creating block of code like functions and classes, adapting itself to the way the coder writes. [3] It helps in discovering alternative ways to solve problems, writing tests, and in exploring new APIs with minimal user input. [1] [4]

Copilot gets its information from code available publicly, recognizing different programming languages like Go, Java, JavaScript, Python, Ruby, and TypeScript. [2]

The AI software was developed by OpenAI and GitHub, a Microsoft-owned website and initially released to a select group of testers in order to improve the tool through feedback. [2] [5] This is the first major project released after Microsoft's $1 billion into OpenAI. [6] On June, 2022, GitHub Copilot was made available to individual developers. [7]

While the code assistant has had a good reception, it still has room for improvement. The hit rate of the suggestions is still low and coders have to assume that the code that's generated needs edits and isn't executable. [2]

Development

2018

  • First version of GPT, with 110 million learning parameters.

2019

  • GPT-2 is released, trained on 40 GB of text and with 1.5 billion parameters.

2020

  • GPT-3 is announced, trained with 175 billion parameters. Based on experiences with this program, work starts on a code-writing AI.

2021

  • Copilot is introduced, a virtual "pair programmer" to assist coders with 30% of its suggestions recommending the right code and bug-free.
  • June: OpenAI allowed coders all over the world to test the program.
  • GitHub Copilot was released as a technical preview. [5] [8]

2022

  • March, Visual Studio 2022 support was added to GitHub Copilot. [8]
  • June: GitHub Copilot is made available to all developers through a subscription model. Verified students and open source contributors can have access to the software for free. [7] [9]

Features

Figure 1: GitHub Copilot general overview. Source: QACaffe.

GitHub Copilot is powered by Codex, an AI system developed by OpenAI that is based on the GPT-3 model and fine-tuned for programming tasks. [1] [3] Codex is an algorithm that was trained on a data set that included a bigger concentration of public source code than GPT-3, making it more capable in the function of code generation. [1] Copilot was trained "a selection of English language and source code from publicly available sources, including code in public repositories on GitHub". [4] The program works best with Python, JavaScript, TypeScript, Ruby, and Go. [1] [6]

OpenAI's coding assistant is seens has an evolution of pair programming in which the development process is accelerated by two coders working on the same project and identifying each others' mistakes. [6]

According to PC Magazine, some of Copilot's standout features are the "ability to write tests used to check code quality, write boilerplate code, and show alternative solutions to a given coding problem." [4] On GitHub's blog, the main features of the program are identified as getting AI-based coding suggestions, using different environments to integrate GitHub Copilot, and the variety of programming languages available. [7]

Applications

The impact of GitHub Copilot is still mold. However, as the AI evolves, it could help decrease the workload of developers and increase the speed at which viable code is produced. It could do this by showing alternative solutions and providing suitable syntax examples without exensive online search and it could add individual code blocks independently. [2] [3] Developers can, therefore, be relieved of brainstorming an algorithm or a function to achieve a specific task and focus instead on their implementation. [10]

Limitations

  • Generated code may not be usable.
  • Prone to mistakes that most novice programmers would avoid. (2)
  • It's not a replacement for human programmers since it can't design software. (3)
  • May generate inappropriate suggestions or offensive language.
  • It could suggest email addresses, API keys, or phone numbers. (6)

Impact

During the 12 months after the introduction of the technical preview, 1.2 million developers had adopted it and it became an indispensable part of their workflow. When enabled, almost 40% of code is being written by Github Copilot. (3, 7) According to Wired, coders who have used the program found "that it dramatically accelerates their pace." (5)

In the future, a similar  AI could be available to people who don't have coding skills, allowing them to write simple apps by describing what theu want. (5)

In 2022, OpenAI, Microsoft, and GitHub were named in a class-action lawsuit alleging copyright issues from the use of Copilot. (6)

Concerns

Coders have spoked about the eventuallity that AI programs like Copilot lead to rendering their jobs obsolete. (5) There have also been concerns about copyright infrigement like those in other AI-assisted tools like DALL-E, Midjourney, and GPT-3 since it could potentially take over entire blocks of code. (2)

References

  1. 1.0 1.1 1.2 1.3 1.4 Friedman, N (2021). Introducing GitHub Copilot: your AI pair programmer. GitHub Blog. https://github.blog/2021-06-29-introducing-github-copilot-ai-pair-programmer/
  2. 2.0 2.1 2.2 2.3 2.4 2.5 IONOS (2022). GitHub Copilot: The programming assistant at a glance. Digital Guide IONOS. https://www.ionos.com/digitalguide/websites/web-development/github-copilot/
  3. 3.0 3.1 3.2 Dickson, B (2022). GitHub Copilot is among the first real products based on large language models. TechTalks. https://bdtechtalks.com/2022/07/05/github-copilot-large-language-model-product-management/
  4. 4.0 4.1 4.2 Mott, N (2021). GitHub's Copilot Is an OpenAI-Powered Coding Partner. PCMag. https://www.pcmag.com/news/githubs-copilot-is-an-openai-powered-coding-partner
  5. 5.0 5.1 Thompson, C (2022). It’s Like GPT-3 but for code—fun, fast, and full of flaws. Wired. https://www.wired.com/story/openai-copilot-autocomplete-for-code/
  6. 6.0 6.1 6.2 Gershgorn, D (2021). GitHub and OpenAI launch a new AI tool that generates its own code. The Verge. https://www.theverge.com/2021/6/29/22555777/github-openai-ai-tool-autocomplete-code
  7. 7.0 7.1 7.2 Dohmke, T (2022). GitHub Copilot is generally available to all developers. GitHub Blog. https://github.blog/2022-06-21-github-copilot-is-generally-available-to-all-developers/
  8. 8.0 8.1 Woodward, M (2022). GitHub Copilot now available for Visual Studio 2022. GitHub Blog. https://github.blog/2022-03-29-github-copilot-now-available-for-visual-studio-2022/
  9. Wigger, K (2022). Copilot, GitHub’s AI-powered coding tool, will be free for students. TechCrunch. https://techcrunch.com/2022/05/24/copilot-githubs-ai-powered-coding-tool-will-become-generally-available-this-summer/
  10. Tilgner, A (2021). Should you use GitHub Copilot or OpenAI Codex for AI coding? Better Programming. https://betterprogramming.pub/github-copilot-vs-openai-codex-which-should-you-use-ed67e53e00c0