Amazon releases CodeGuru, which uses machine learning to optimize code
Amazon Web Services Inc. said today its new Amazon CodeGuru service, which relies on machine learning to automatically check code for bugs and suggest fixes, is now generally available.
Amazon announced the tool in preview at its AWS re:Invent event in December.
“It’s challenging to have enough experienced developers with enough free time to do code reviews, given the amount of code that gets written every day,” the company said today. “And even the most experienced reviewers miss problems before they impact customer-facing applications, resulting in bugs and performance issues.”
AWS CodeGuru is actually made up of two separate tools, including a Reviewer and a Profiler, and they do pretty much what the names suggest.
To get started, developers must commit the code they want to review to a hosting repository such as GitHub, Bitbucket Cloud or AWS CodeCommit. CodeGuru Reviewer then kicks in by analyzing that code, searching for bugs and offering potential fixes for them. This is all done within the code repository itself, so for example, if the developer is using GitHub, CodeGuru will create a pull request and add a comment with specific information about the bug it has found and any potential fixes it recommends.
CodeGuru Reviewer has ample pedigree, as its algorithm was trained on code from more than 10,000 open-source projects hosted on GitHub. The algorithm should improve over time too, since developers can leave feedback on the bugs it finds and the recommendations it provides.
As for CodeGuru Profiler, it’s all about optimizing the code. The idea is to help developers find inefficiencies with their code and also the most expensive lines of code. The tool is supported on serverless platforms such as AWS Lambda and AWS Fargate.
In addition, CodeGuru Profiler now adds an estimated dollar amount to any unoptimized lines of code it finds.
“Our customers develop and run a lot of applications that include millions and millions of lines of code,” said Swami Sivasubramanian, vice president of Amazon Machine Learning. “Ensuring the quality and efficiency of that code is incredibly important, as bugs and inefficiencies in even a few lines of code can be very costly.”
Constellation Research Inc. analyst Holger Mueller said the general availability of Amazon CodeGuru shows that the time when coders would rely on integrated development environments to highlight code and find syntax errors is a thing of the past.
“Machine learning and artificial intelligence algorithms improve developer productivity, helping them to achieve what matters most to executives,” Mueller said. “That is, developer velocity to build next-generation applications.”
Amazon said several big companies are already using CodeGuru to find bugs in and optimize their code, including Atlassian Corp. Plc.
“While code reviews from our development team do a great job of preventing bugs from reaching production, it’s not always possible to predict how systems will behave under stress or manage complex data shapes, especially as we have multiple deployments per day,” said Zak Islam, head of engineering for tech teams at Atlassian. “When we detect anomalies in production, we have been able to reduce the investigation time from days to hours and sometimes minutes thanks to Amazon CodeGuru’s continuous profiling feature.”
Amazon CodeGuru is available now in the company’s US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (London), EU (Frankfurt), EU (Stockholm), Asia Pacific (Singapore), Asia Pacific (Sydney), and Asia Pacific (Tokyo) regions. The service will be made available in additional regions in the coming months, Amazon said.