The 4th industrial revolution has artificial intelligence (AI) as a big player in driving many of its innovative processes. Beyond automation, Ai makes technological innovations more seamless and human-like.
AI coding assistants, also known as code assistants, code autocomplete plugins, or code completion tools that enables coders/developers to write code faster and more accurately by leveraging artificial intelligence that will help edit and suggest code.
One of the major tech innovations that greeted us a year before was GitHub Copilot, an AI pair programmer developed by Microsoft and OpenAI. It did quite cause a stir in the tech world, receiving both appreciation and criticism alike.
Amazon a year came up with her Ai code assistant codenamed CodeWhisperer, much like a direct competition to Copilot.
The launch happened at the re:Mars conference held lately.
During the preview of CodeWhisperer, Vasi Philomin, Amazon’s VP in charge of its AI services, pointed up that the company didn’t simply create CodeWhisperer to give an alternative to Copilot. He noted that with CodeGuru, its AI code reviewer and performance profiler DevOps Guru, the company set the groundwork for launch quite a few years ago.
“I think the technology is at a point where we thought it was the right time to do it,” Philomin said. “And it fits nicely with the other pieces that they have. It’s been a journey and we’ve just done different parts at different times.”
It’s good to note that CodeWhisperer does some things differently from the likes of Copilot. While most of the codes that the system generates are novel, it generates codes that are close to an existing snippet in its training data, it will note that and highlight the license of that original function. It’s then up to the developer to decide whether to use it or not.
Talking about security, Vp Vasi Philomin was quoted saying
“Security is always important in AWS and so we want to make sure that the code we generate is secure. Now obviously we’ve generated the code and the developer can change it — and so CodeWhisperer has capability to say: run a scan on the current source file. It will … scan and … tell you any issues and security vulnerabilities either in the generated or the changed code.”
Comparing Copilot and CodeWhisperer
The authors experimented with 21 participants where they emphasised code productivity and code quality.
For experimental design, a participant was given a project to code under three conditions presented in a randomised order.
¶ Pair-programming with Copilot
¶ Human pair-programming as a driver
¶ As a navigator.
The codes generated from the three trials conducted were analysed to determine how many lines of code on average were added in each condition and how many lines of code on average were removed in the subsequent stage. “The results suggest that although Copilot increases productivity as measured by lines of code added, the quality of code produced is inferior by having more lines of code deleted in the subsequent trial,” the authors added.
Another study titled “Asleep at the Keyboard? Assessing the Security of GitHub Copilot’s Code Contributions” has shown that codes designed by Copilot could include bugs or design flaws that an attacker can potentially exploit. The authors created 89 scenarios for Copilot to develop code for, which resulted in 1,692 programs. The authors found out that about 40 per cent of these codes included bugs that could pose security risks.