AWS CodeGuru

Amazon CodeGuru – Amazon Web Services

Automate code reviews and optimize application performance with ML-powered recommendations Amazon CodeGuru is a developer tool that provides intelligent recommendations to improve code quality and identify an application’s most expensive lines of code.

Automate code reviews and optimize application performance with ML-powered recommendations

コードレビューを自動化し、アプリケーションパフォーマンスを最適化する。

MLによるレコメンデーションによって。

Find your most expensive lines of code and improve code quality

最もコストのかかるコードを見つけて、コードの品質を改善する。

Amazon Web Services

Amazon CodeGuru Reviewer

  • Catch code problems before they hit production(コード問題を本番前にキャッチする)
  • Fix security vulnerabilities(脆弱性を修正する)
  • Proactively improve code quality with continuous monitoring(コード品質を改善する、継続的なモニタリングで)

only java or python, now.

only GitHub, GitHub Enterprise, Bitbucket or AWS CodeCommit, now.

Feature

  • AWS best practices: Correct use of AWS APIs (example polling, pagination)(AWSベストプラクティス)
  • Java and Python Best Practices: Correct use of popular Java and Python language and library features(Java/Pythonベストプラクティス)
  • Concurrency: Detects missing synchronization resulting in incorrect functionality or excessive synchronization leading to performance issues.(同時実行処理)
  • Code maintainability: identifies code complexities or any characteristic in the source code that makes the code harder to maintain overtime(コードメンテナンス性)
  • Resource leaks: Correct handling of resources (example: releasing database connections)(リソースリーク)
  • Sensitive information leaks: Leakage of Sensitive Information (example: logging AWS account credentials in plain text)(機密情報リーク)
  • Common coding best practices : checks for parameters and looks for lines of code that could create bugs (example: forgetting to check whether an object is null before setting it, reassigning a synchronized object, or forgetting to initialize a variable along an exception path).(共通コーディングベストプラクティス)
  • Code Cloning: Identifies duplicated code that could be consolidated for better code maintainability(コードコピー)
  • Input Validation: Checks for malformed or malicious data from untrusted sources(インプットチェック)

Security Detection(Only java11)

  1. AWS API Security Best Practices: you can check API security for AWS EC2 and KMS
  2. Java Crypto Library Best Practice: you can check if Javax.Crypto.Cipher is initialized and called correctly
  3. Secure Web Applications: you can check web app related security issues, such as LDAP injections
  4. Sensitive Information Leak: you can check if there is any leakage of personal or sensitive information
  5. AWS Security Best Practices (such as AWS Crypto recommendations): you can check if your code meets AWS best practices

Full Repository Analysis

  1. associate your repository
  2. initiate a full repository analysis
  3. continuously analyze pull requests for incremental code changes
  4. do a periodic re-scan of the full repository to ensure code maintainability.

Pricing (Asia Pacific Tokyo)

Free tier

90 days for up to 100K lines of code

Standard pricing

Repository size (Per AWS account)
Price per month
First 100K lines of code in onboarded repositories and two full repository scans, for each onboarded repository$10.00
Additional 100k lines of code in onboarded repositories (rounded up to the nearest 100k)$30.00 (per each 100k lines of code)

Additional charges

More than 2 full repository scans, per repository

$10.00 (per each 100k lines of code)

Amazon CodeGuru Profiler

  • Troubleshoot performance issues(パフォーマンス問題をトラブルシュートする)
  • Discover anomalies and common issues in your application performance(異常や共通問題を検知する、アプリケーションパフォーマンスの)
  • Catch your most expensive line of code today(最もコストのかかっているコードをキャッチする)

only ec2, ecs, fargate, eks, lambda, on-premises, now.

Feature

  • Always-on profiling of applications in production(本番アプリケーションの常時監視)
  • Understand the runtime behavior of applications(アプリケーションの実行時の状況理解)
  • Heap summary(ヒープサマリ)
  • Intelligent recommendations(インテリジェントレコメンデーション)
  • Anomaly detection(異常検知)

Pricing

Free tier

lasts for 90 days

Standard pricing

Application profiling on Amazon EC2 Instances and Amazon ECS, EKS, and AWS Fargate Containers $0.005 per sampling hour for the first 36,000 sampling hours per profiling group per month. No additional charge beyond 36,000 sampling hours per profiling group per month.
Application profiling on AWS Lambda Free for the first 500 sampling hours per payer account.Therafter $0.005 per sampling hour for the first 36,000 sampling hours per profiling group per month. No additional charge beyond 36,000 sampling hours per profiling group per month.