Main image of article Can CodeGuru Improve Your Code with Machine Learning?

Amazon’s new tool, CodeGuru, leverages machine learning to streamline the code-review process. But will it actually interest developers?

CodeGuru features two components: a “Reviewer” that uses machine learning to scan code for bugs, and a “Profiler” that highlights latency and CPU utilization issues. Profiler will also produce an “estimated dollar value” for the active CPU costs of an issue, allowing developers to optimize their code in order to save money.

Originally introduced at last year’s Amazon re:Invent conference, CodeGuru has spent the past few months undergoing a variety of modifications. There are a few caveats: As of right now, it seems that Reviewer’s bug-fixing recommendations are limited to Java code stored in GitHub, AWS CodeCommit, or Bitbucket. Profiler, meanwhile, supports applications written in Java virtual machine (JVM) languages such as Clojure, JRuby, Jython, Groovy, Kotlin, Scala, and (of course) Java.  

The official AWS blog features a pithy coding walkthrough using CodeGuru, including its visualization and recommendation features. As with Amazon Honeycode, the company’s new low-code tool, the corporate goal of CodeGuru seems pretty clear: Useful tools will compel developers to stick with AWS and Amazon’s ecosystem, and not potentially drift over to Microsoft’s Azure or Google’s Cloud options.

The big test, of course, is whether CodeGuru’s machine learning is capable of identifying bugs in a way that makes the coding process more efficient. Some code is the result of reasonable compromises that developers made earlier in their process, and it’s up in the air whether an artificial intelligence will necessarily recognize the creativity and larger issues behind those decisions. And while latency and resource utilization are huge issues, they’re impacted by a variety of factors that CodeGuru might not always realize.

Nonetheless, anything that potentially helps developers do their jobs is a good thing, and CodeGuru joins a growing number of developer tools that try to use machine learning and A.I. to make the coding process a little better. For example, you have code “autocompleters” such as Deep TabNine, IntelliSense (part of Visual Studio), and Kite, all of which attempt to leverage different flavors of machine learning to predict what a human coder will type next. There are also A.I. tools that attempt to measure everything from security to complexity.

In other words, CodeGuru isn’t a striking development. Nonetheless, it shows yet again that machine learning will only influence coding more and more as the years go on.