User:CarlosDanielRLao/WRIT340sandbox

CarlosDanielRLao/WRIT340sandbox
Developer(s)GitHub, OpenAI
Stable release
1.7.4421
Operating systemMicrosoft Windows, Linux, macOS, Web
Websitecopilot.github.com

GitHub Copilot is an artificial intelligence tool for programmers developed by GitHub and OpenAI to assist users of Visual Studio Code, Visual Studio, Neovim, and JetBrains IDEs by autocompleting code.[1] Currently only available as a technical preview, the tool was first announced by GitHub on June 29th, 2021 and works best for users coding in Python, JavaScript, TypeScript, Ruby and Go.[2]

History edit

On June 29, 2021, GitHub announced GitHub Copilot for technical preview in the Visual Studio Code development environment.[1][3]

On October 26, 2021, GitHub Copilot was released as a plugin on the JetBrains marketplace.[4]

On October 27, 2021, GitHub released the GitHub Copilot Neovim plugin as a public repository.[5]

On March 29, 2022, GitHub officially announced Copilot's availability for the Visual Studio 2022 IDE.[6]

Features edit

GitHub Copilot is powered by the OpenAI Codex, an artificial intelligence model created by OpenAI which is an artificial intelligence research laboratory.[7] The OpenAI Codex is a modified, production version of the Generative Pre-trained Transformer (GPT-3), a language model using deep-learning to produce human-like text.[8] For example, when provided with a programming problem in natural language, Codex is capable of generating solution code.[9] It is also able to describe input code in English and translating code between programming languages.[9] Codex’s GPT-3 is licensed exclusively for Microsoft, GitHub’s parent company.[10]

Copilot’s OpenAI Codex is trained on a selection of the English language, public GitHub repositories, and other publicly available source code.[11] This includes a filtered dataset of 159 gigabytes of Python code sourced from 54 million public GitHub repositories.[12]

According to its website, GitHub Copilot includes assistive features for programmers, such as the conversion of comments to runnable code and autocomplete for chunks of code, repetitive sections of code, and entire methods and/or functions. [11][13] GitHub reports that Copilot’s autocomplete feature is accurate roughly half of the time; with some python function header code, for example, Copilot correctly autocompleted the rest of the function body code 43% of the time on the first try and 57% of the time after ten attempts.[11]

GitHub states that Copilot’s features allow programmers to navigate unfamiliar coding frameworks and languages by reducing the amount of time users spend reading documentation.[11]

Reception edit

Since Copilot's release, there have been concerns with its security, educational impact, and licensing controversy. [14][15]

Education concerns edit

A February 2022 paper released by the Association for Computing Machinery evaluates the impact Codex, the technology used by Github Copilot, may have on the education of novice programmers.[14] The study utilizes assessment questions from an introductory programming class at The University of Auckland and compares Codex’s responses with student performance. Researchers found that Codex, on average, performed better than most students; however, its performance decreased on questions that limited what features could be used in the solution (i.e. conditionals, collections, and loops).[14] Given this type of problem, “only two of [Codex’s] 10 solutions produced the correct output, but both [...] violated [the] constraint.” The paper concludes that Codex may be useful in providing a variety of solutions to learners, but may also lead to over-reliance and plagiarism.[14]

Security concerns edit

A paper accepted for publication in the IEEE Symposium on Security and Privacy in 2022 assessed the security of code generated by Copilot for the MITRE’s top 25 code weakness enumerations (e.g., cross-site scripting, path traversal) across 89 different scenarios and 1,689 programs.[15] This was done along the axes of diversity of weaknesses (its ability to respond to scenarios that may lead to various code weaknesses), diversity of prompts (its ability to respond to the same code weakness with subtle variation), and diversity of domains (its ability to generate register transfer level hardware specifications in Verilog).[15] The study found that across these axes in multiple languages, 39.33% of top suggestions and 40.73% of total suggestions lead to code vulnerabilities. Additionally, they found that small, non-semantic (i.e., comments) changes made to code could impact code safety.[15]

Future plans edit

On its website, GitHub states that if Copilot’s technical preview is successful, they plan to commercialize the tool in the future.[11] In addition, Microsoft – GitHub’s parent company – has stated its future plans to commercialize Copilot as part of its Visual Studio products.[16]

See also edit

References edit

  1. ^ a b Gershgorn, Dave (29 June 2021). "GitHub and OpenAI launch a new AI tool that generates its own code". The Verge. Retrieved 6 July 2021.
  2. ^ "GitHub Copilot · Your AI pair programmer". GitHub Copilot. Retrieved 2022-04-07.
  3. ^ "Introducing GitHub Copilot: your AI pair programmer". The GitHub Blog. 2021-06-29. Retrieved 2022-03-29.
  4. ^ "GitHub Copilot - IntelliJ IDEs Plugin | Marketplace". JetBrains Marketplace. Retrieved 2022-04-05.
  5. ^ Copilot.vim, GitHub, 2022-04-05, retrieved 2022-04-05
  6. ^ "GitHub Copilot now available for Visual Studio 2022". The GitHub Blog. 2022-03-29. Retrieved 2022-04-05.
  7. ^ Krill, Paul (2021-08-12). "OpenAI offers API for GitHub Copilot AI model". InfoWorld. Retrieved 2022-04-05.
  8. ^ "OpenAI Releases GPT-3, The Largest Model So Far". Analytics India Magazine. 2020-06-03. Retrieved 2022-04-05.
  9. ^ a b Finnie-Ansley, James; Denny, Paul; Becker, Brett A.; Luxton-Reilly, Andrew; Prather, James (2022-02-14). "The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming". Australasian Computing Education Conference. ACE '22. New York, NY, USA: Association for Computing Machinery: 10–19. doi:10.1145/3511861.3511863. ISBN 978-1-4503-9643-1.
  10. ^ "OpenAI is giving Microsoft exclusive access to its GPT-3 language model". MIT Technology Review. Retrieved 2022-04-05.
  11. ^ a b c d e GitHub Copilot, GitHub, 2022-03-29, retrieved 2022-03-29
  12. ^ "OpenAI Announces 12 Billion Parameter Code-Generation AI Codex". InfoQ. Retrieved 2022-04-05.
  13. ^ Sobania, Dominik; Schweim, Dirk; Rothlauf, Franz (2022). "A Comprehensive Survey on Program Synthesis with Evolutionary Algorithms". IEEE Transactions on Evolutionary Computation: 1–1. doi:10.1109/TEVC.2022.3162324. ISSN 1941-0026.
  14. ^ a b c d Finnie-Ansley, James; Denny, Paul; Becker, Brett A.; Luxton-Reilly, Andrew; Prather, James (2022-02-14). "The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming". Australasian Computing Education Conference. ACE '22. New York, NY, USA: Association for Computing Machinery: 10–19. doi:10.1145/3511861.3511863. ISBN 978-1-4503-9643-1.
  15. ^ a b c d Pearce, Hammond; Ahmad, Baleegh; Tan, Benjamin; Dolan-Gavitt, Brendan; Karri, Ramesh (2021-12-16). "Asleep at the Keyboard? Assessing the Security of GitHub Copilot's Code Contributions". arXiv:2108.09293 [cs].
  16. ^ Novet, Jordan (2021-06-29). "Microsoft and OpenAI have a new A.I. tool that will give coding suggestions to software developers". CNBC. Retrieved 2022-04-05.

External links edit

Category:GitHub Category:Artificial intelligence applications