Amazon CodeGuru is a machine learning service for automated code reviews and application performance recommendations.

Amazon CodeGuru Reviewer

Amazon CodeGuru Reviewer finds issues in your code and recommends how to remediate them. For example, CodeGuru Reviewer detects deviation from best practices for using AWS APIs and SDKs, and also identifies concurrency issues, resource leaks, and correct input validation. To begin reviewing code, you can associate existing code repositories on GitHub or AWS CodeCommit with CodeGuru.

Automate code reviews

CodeGuru Reviewer automatically analyzes source code pull requests to find critical issues and provides intelligent recommendations for resolving code defects directly within the pull request.

Screenshot_Catch-Code-Issue_2 - Features
Screenshot_Catch-Code-Issue_2 - Features
 Click to enlarge

Amazon CodeGuru Reviewer scans your pull requests and gives you recommendations against your source code in Github or AWS CodeCommit, together with a description of what’s causing the issue and how you can remediate it.


Fast and reliable code issue detection

CodeGuru Reviewer detects and flags wide-ranging issues in source code such as thread safety issues, use of un-sanitized inputs, inappropriate handling of sensitive data such as credentials, and resource leaks. It provides recommendations on how to fix these issues. These issues are usually difficult to detect through peer code reviews and unit testing. In addition, CodeGuru Reviewer reviews your code for AWS APIs and SDK usage and helps ensure you stay current with the latest AWS features and best practices.

Reviewer-Best-practices-pagination
Reviewer-Best-practices-pagination
 Click to enlarge

Amazon CodeGuru Reviewer reviews your code for AWS APIs and SDK usage, detects deviation from best practices, and flags common issues that can lead to production issues, such as missing pagination.

Amazon CodeGuru Profiler

Amazon CodeGuru Profiler is always searching for application performance optimizations, identifying your most “expensive” lines of code and recommending ways to fix them to reduce CPU utilization, cut compute costs, and improve application performance. For example, CodeGuru Profiler can identify when your application is consuming excessive CPU capacity on a logging routine instead of executing core business logic.

Understand the runtime behavior of applications

CodeGuru Profiler analyzes application CPU utilization and latency characteristics to show you where you are spending the most cycles in your application. This analysis is presented in an interactive flame graph that helps you easily understand which paths consume the most resources, verify that your application is performing as expected, and uncover areas that can be optimized further.

Screenshot_FlameGraph
Screenshot_FlameGraph
 Click to enlarge

Flame graphs visualize the performance of your application by aggregating all the stack traces running at a given moment in time. You can use a flame graph to understand which paths consume the most resources, verify that your application is performing as expected, and uncover areas that can be optimized further.


Intelligent recommendations

CodeGuru Profiler automatically identifies performance issues in your application and provides intelligent recommendations on how to remediate them. These recommendations help you identify and optimize the most expensive or resource intensive methods within your code without you needing to be a performance engineering expert. These optimizations help you reduce the cost of your infrastructure, reduce latency, and improve your overall end user experience.

Screenshot_FIND-YOUR-MOST_Annotated
Screenshot_FIND-YOUR-MOST_Annotated
 Click to enlarge

When it sees opportunities to optimize your application performance, Amazon CodeGuru Profiler explains why it is recommending a change, what’s causing the issue, how to resolve it, and where in the code this issue is impacting your application.


Always-on profiling of applications in production

CodeGuru Profiler is designed to continuously run in production with minimal CPU overhead, which means you can leave it on all the time with minimal impact on application performance. This allows you to profile and troubleshoot your application using real customer traffic patterns and easily discover performance issues that might not be detected in your test environment.

Product-Page_Standard-Icons_01_Product-Features_SqInk
Learn more about product pricing

Visit the Amazon CodeGuru pricing page.

Learn more 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
Sign up for a free account

Instantly get access to the AWS Free Tier. 

Sign up 
Product-Page_Standard-Icons_03_Start-Building_SqInk
Start building in the console

Get started building with Amazon CodeGuru in the AWS Management Console.

Sign in