In what is seen as a significant shift towards the wider adoption of low-code software development tools, GitHub, the software development and version control platform, has recently released Copilot, its AI-based coding assistant, to all developers.
Low-code solutions have become more prominent as the reliability of artificial intelligence has continued to improve. The concept of ‘Software 2.0’, where code is written and abstracted by neural networks, has raised fears that programmers will become obsolete. However, coding assistants and no-code solutions have existed since at least 2013 and they have not taken over coding yet.
Coding assistants seek to improve developer productivity by completing lines of code, or even predicting whole functions, based on the context and syntax of their environment. The idea is that less time is spent reading documentation when using unfamiliar frameworks or languages.
Kite and TabNine led the first generation of coding assistants. Their early predictions solely focused on completing lines of code. With constant evolution since their releases in 2014 and 2017, these older assistants have grown to support many languages and integrated development environments, using more elaborate models to predict complex code. There are now more than a dozen AI coding assistants generally available.
GitHub released Copilot, its next-generation coding assistant, based on the neural networking model OpenAI Codex, a descendant of GPT-3, at the end of June. Copilot is trained on a range of source code, including public GitHub repositories. GitHub says Copilot allows developers to skip over writing boilerplate code, using prior context or plain English comments to determine the required functionality.
Shortly after Copilot was made available to individual developers, Amazon launched the preview round of its competitor, CodeWhisperer. Utilising its inherent links to the AWS Cloud, CodeWhisperer is able to determine which cloud services and public libraries are best suited to the code. Building on Amazon’s CodeGuru and DevOpsGuru, CodeWhisperer is set to introduce security scans into the process.
GitHub admits that Copilot is not yet perfect. While able to autocomplete lines of code, functions, and their supporting tests, Copilot suggestions are only accepted by users around 26% of the time, according to GitHub’s own metrics.
Research by a team at the NYU Centre for Cybersecurity completed in 2021 found 40% of the code generated by Copilot contained security vulnerabilities resulting from bugs inherent in training from open-source repositories.
Other concerns have been raised by Software Freedom Conservancy, a technology ethics nonprofit, around the risk of low-code platforms such as Copilot reusing code from open-source projects. CodeWhisperer is set to include information on how closely snippets match training data to let users avoid this.
But competition in the marketplace for low-code development tools will continue to grow. Another launch on the horizon is AlphaCode, designed by Alphabet-backed DeepMind. AlphaCode is claimed by its creators to perform better than the OpenAI Codex, the basis for Copilot. Unveiled in February for competitive programming, AlphaCode does not have a release date as a coding assistant, however.