According to Wikipedia, GitHub Copilot is an artificial intelligence tool developed by Github and OpenAI to assist users of Visual Studio Code by autocompleting code. It was first announced by GitHub on 29 June 2021.
GitHub Copilot uses a modified version of GPT-3, a language prediction model designed to produce human-like text, that is instead programmed to produce valid computer code. Copilot is trained on public GitHub repositories of any license.
It is of course common knowledge that machines over time have made work a lot easier for its human counterpart and this applies to the Github co-pilot. I mean of course who wouldn’t want some cool features like auto-completion and auto-generation of codes while working? But how does this even work ? How are we able to get auto-generation of codes?
A descendant of the GPT-3, OpenAI Codex, was trained on publicly available source code and natural language, so it understands both programming and human languages. The GitHub Copilot editor extension sends your comments and code to the GitHub Copilot service, which then uses OpenAI Codex to synthesize and suggest individual lines and whole functions.
This awesome and flawless feature of the copilot has made it very easy to economize time for developers who can now easily auto-generate functions from a rich existing pool of code repositories and also save companies a lot on production cost.
Although the GitHub co-pilot has garnered a lot of accolades as to efficiency, it still has a sufficient amount of drawbacks in terms of the integrity of the code that it writes. GitHub Copilot tries to understand your intent and to generate the best code it can, but the code it suggests may not always work or even make sense. While we are working hard to make GitHub Copilot better, code suggested by GitHub Copilot should be carefully tested, reviewed, and vetted, like any other code. As the developer, you are always in charge. This whole idea of having to vet the codes and test creates another time complexity as more time has to be spent on trying to refactor the codes.
Some of the other drawbacks of the copilot are:
My thoughts on this are that for now, I don’t see this AI replacing developers at least not in the very near future and just maybe soon enough this previously feared piece of tool would unravel a future where development of software would be a lot faster, efficient and seamless for developers. We have seen improved developers’ experience over time with the creations of devices like code editors and debugging tools.