At its re:Mars conference, Amazon announced the launch of CodeWhisperer, a pair programming tool similar to GitHub’s Copilot that can automatically write entire functions based on just a comment or a few lines of code. The company trained the system, which currently supports Java, JavaScript, and Python, on billions of lines of publicly available open source code, its own codebase, and public documentation and public forum code.
CodeWhisperer is now available in preview as part of the AWS IDE Toolkit, which means developers can immediately use it directly from their preferred IDEs, including Visual Studio Code, IntelliJ IDEA, PyCharm, WebStorm, and Amazon’s own AWS 9 cloud, says AppTractor.
Ahead of today’s announcement, Vasi Philomin, Amazon’s vice president in charge of artificial intelligence, stressed that the company didn’t create this just to offer a copy of Copilot. He noted that with the help of CodeGuru, an AI-based code review and performance profiler, and DevOps Guru, a system troubleshooting tool, the company laid the groundwork for today’s launch years ago.
“The technology is at a stage where we have decided it is the right time to implement it,” Philomin said. “And it fits nicely with the other platforms we have. It was a journey and we just did different parts at different times.”
The company notes that the system constantly reviews your code and comments, and even takes into account your own programming style and variable names. Using this contextual information it then generates its code suggestions.
CodeWhisperer is somewhat different from Copilot. First, while most of the code the system generates is new, every time it generates code that is close to an existing piece in its training data, it marks this and extracts the original function’s license. It is up to the developer to decide whether to use it or not. This should alleviate some (though perhaps not all) of the copyright issues that may arise when using such a tool.
Another feature that Philomin emphasized is security. Based on Amazon’s own experience in managing large codebases and doing analysis after things go wrong (using a formalized “fixing bugs” process), as well as experience with CodeGuru, CodeWhisperer scans code for potential security issues, notes NIXSolutions.
The user/developer experience is quite simple. Developers can choose between different code suggestions. The system can automatically read comments and only suggest features based on them. A simple example of this would be something like #See if a number is prime.
While the system will work great for developers outside of the AWS ecosystem, Philomin noted that the team has made sure it works well for developers who want to use it to access AWS services.
“When we say it has top-notch AWS API support, it’s just an extra thing. In terms of all of our measurements and all of our testing, we think our platform performs surprisingly well and will be state of the art,” he said.