GitHub Copilot — Bright Future or an Impending Doom

Romaana Aamir
Code Like A Girl
Published in
7 min readNov 2, 2021

--

Photo by Scott Graham on Unsplash

With the advent of GitHub Copilot hitting the coder's market, it has been widely debated and discussed whether it paints the picture that it promises or will it take away the security of developers and programmers.

Microsoft subsidiary GitHub and OpenAI have announced the new AI-powered Copilot as a service assistant for developers on 29th June 2021, basking in the glory of the all-time exclusive feature of "AI-Pair Programmer."

Acting as the perfect extension for beta users that assists coders by generating or auto-completing their codes, does it reckon an impending doom for developers? What does GitHub Copilot's advancement mean for the software engineering industry?

Like an add-on that helps writers curate content, Copilot allows developers to write their code by making suggestions. Copilot is much like the autocomplete features in email applications like Gmail and Google Extensions such as Google Docs. Will AI eventually replace developers?

OpenAI's CEO, Sam Altman, published a tweet around mid-June 2021 sharing his views.

GitHub does not write perfect code every time! Copilot will try to understand your intentions, but the code it suggests may not always work or make sense for the developers' specifications or needs; however, that will improve over time.

Copilot is not the first of its kind; Tabnine and Kite have previously provided "AI-powered" code completion. With the heft of Microsoft and OpenAI, Copilot is a booming market and has been an effective tool since its inception.

However, when it comes to GitHub Vs. Tabnine, the difference in GitHub Copilot is that it generates an entity of multi-line functions of documentations, texts, and other advanced functionality based on the full context of a file of code. It makes it all the more efficient for you to get the correct programming language.

Owing to further advancements, OpenAI adapted the GPT-3 language-prediction model for computerized code for a model called Codex that displays strong performance on a dataset of human-written problems with a difficulty level comparable to easy.

There is no denying that it will improve with further advancements by greatly enhancing developer productivity and reducing the cost of software production. The CEO of GitHub, Nat Friedman, states that this AI-assisted code is the third stage in the evolution of coding. There may be claims that it can replace writing code (programmers), but it surely will take a lot more to replace developers in the first place. So boiling down to the real question, will GitHub copilot replace developers?

Will Github Copilot Replace Programmers?

Image Source

Any azure developer or programmer might have their fair share of skeptics regarding Copilot, and they are right in their senses to question it. But with Github in the picture, it diminishes the barrier by reducing the friction to write codes and thereby being widespread by quickly penetrating the software development workforce.

There is a general requirement to augment an organization's developers. It is estimated that with a reduction of 11,700 CIS graduates in 2021 and the BLS estimated 22% growth in software developer jobs. There could be thousands of positions left unfilled or hard-to-fill. The IT outsourcing market is expected to amount to approximately 413.7 billion U.S. Dollars by 2021.

For a few, this may as well act like a messiah in difficult times when there is a rampant shortage of software developers with enormous growth in software usage.

Making it easier to write a new front-end or a back-end system in Javascript, this model is well-trained to help generate the correct code. The model will be well trained to generate valid code and produce boilerplate and repetitive code patterns.

You can enjoy Github Copilot free of cost for 14 days, after which you will be charged. Now that you know that it is highly incredible with the functionality it offers, it would be unjust to not let you in on its shortcomings and whether it possesses the intelligence to replace programmers or developers?

Is GitHub Copilot a Threat?

Critical Shortcomings and Security Concerns of GitHub:

There is no doubt that Copilot is a very effective booster, but it is far away from replacing developers and programs. It still has a long way to go for complex projects to replace a highly skilled developer's work.

According to many publications on OpenAI, it is reported that Codex only gives the correct answer 29% of the time, but it does write poorly refactored code. Developers may have expected better than that, considering Copilot is trained on the vast supply of code repositories from some of the best programmers the world has to offer. This is because Copilot will suggest the code that would be most commonly written. That may not be what is suitable for your project.

Why does this happen? According to the Codex paper of OpenAI, the language models of the Codex are trained on a next-token prediction objective wherein it suggests those that are possible as per its training distribution. The takeaway from this note is that it may provide users with code that is not helpful due to its set language model.

Let's try and compare its code with that of an average programmer, put your two cents to it, and you will be able to connect the dots. Compared to the average programmer, it is much worse as it does not compile the code or suggest those that work the best for your requirements.

Even in doing what it is supposed to do, it does not check whether it works according to what the document says it should do by gauging the best fit per the project's specifications.

The Codex language models are not trained on the code created in recent years, so it is missing out on an entirely new version, libraries, and language features. But in its defense, you cannot expect AI to start acting like a human brain, so judging it based on code quality alone might as well be sticking with the obvious.

The fact that programmers can get as much help as required for their tedious coding tasks and repetitive code patterns is impressive enough! Assessing its features from machine learning and language synthesis is an outstanding achievement and definitely miles ahead in its success.

But with all of the hype created for its functionality, you will have to dial down your glee at times since it is more than apparent that sometimes these codes use obsolete methods which may not work or make the cut.

Being a programmer or a software developer, you know that it's a rookie mistake to assume that the most taxing part of coding is not 'writing' the code. Still, it is debugging, designing, and maintaining the code.

With automatically generated code, you may end up spending more time on debugging, designing, and maintaining your code. Even if you modify the source through which the code is auto-generated, you will still need to review what was suggested carefully.

Less code requires less debugging and maintenance. However, Copilot's code is often verbose. With Copilot, you will always end up modifying a lot of generated code, and if the code is not making the cut and you want to change the way it works, you cannot change the prompt as you will have to debug the code directly.

Let's be realistic. It can create a technical debt as it is verbose and does not check edge cases.

Is it Ethical to Use Github Copilot?

Image Source

Copilot is an open public source that is reusable as it was released via General Public License. You can easily use them as long as you do not use the code in specialized closed-source commercial projects since they may have legal risks. So is it ethical to use auto-generated code from Copilot for your projects?

When it comes to legal issues surrounding the subject of AI code generation, these laws are still evolving. While Copilot, in a way, violates the spirit of GPL but it does get a leeway by escaping through the technicalities as it does not go against the rule of licensing itself. It generates code identical to the GPL code — the language model it has been trained under rather than explicitly 'copying' the code itself.

It is a fine line to walk because Github's license agreement grants them the license to code for accessing the platform, which supersedes the individual copyright notices attached to each repo.

However, there is an apparent conflict of legal risk in the court of law regarding commercial companies with developers running Copilot. Many legal debates revolve around copyright infringement.

Should We Be Worried About GitHub Copilot?

AI is the future, we all know. It is as clear as day that machine learning will soon automate software production and generate code by transforming the software developer into efficient software architecture.

The time's not far when most codebases will have 80% of the code auto-generated by similar products like Github Copilot in the probable future that are mainly written in languages like Javascript or Python as they have the most market share.

Github Copilot is an effective tool, but you must familiarize yourself with its reality checks: if you expect it to do the coding for you, you are gravely mistaken! Copilot will fail on complex legacy codebases and organize them into software architecture or embedded systems requiring architecture-specific codes wherein suggestions might not be accurate as per the requirements.

Copilot works as an assistant to complement the work of experienced developers. Still, you will have to compose your code into efficient software units as it does not code your exact requirements or project specifications.

So, in conclusion, software developers will not lose out on their jobs. Still, they will become more specialized and efficient in their approach as the mission is quite simple: helping developers to code faster and quicker.

--

--