Shortly after the public release of GitHub Copilot, Amazon Web Services (AWS) launched its own AI programming help: Amazon CodeWhisperer evaluates natural language comments and creates code suggestions from them. The service also searches for potential vulnerabilities in projects.
Comments as a basis for whispers
The basic way of working is reminiscent of Copilot, which GitHub presented for the first time a year ago and recently released to the public. Both systems use machine learning models trained with extensive source code templates. A AWS blog post talks about billions of lines of code as a training basis. According to AWS, this is a mixture of in-house and open source code. Using the latter led straight to the Start of the copilot preview for criticism and whether the service infringes copyright.
The model uses what is learned in the training templates to suggest appropriate code based on natural language comments. An example on the product page created
<div>-Blocks of two arrays for a React application. In addition to the general training data, CodeWhisperer probably includes the local code in the IDE for its code suggestions in order to adapt to the developer’s programming style.
CodeWhisperer can probably check if its suggestions are too close to code in the training data. In view of the problem of bias that exists in many machine learning applications, CodeWhisperer ensures that the code proposals are not “biased or unfair”, according to AWS.
AWS, security and prejudice
In addition to general code templates, CodeWhisperer knows the cloud services from AWS, for example to create code that creates an S3 bucket. Applications for AWS services can be found explicitly under the use cases on the project page. In addition, it should help with the generation of unit tests as well as with the creation of code for training your own ML models.
More details can be refer to the AWS announcement. CodeWhisperer becomes part of the AWS IDE toolkit, but is currently only available as part of a closed preview. Those interested can register on a waiting list. Apparently, an AWS account is only required for interaction with AWS Cloud 9 and AWS Lambda.