Amazon CodeGuru (プレビュー)

コードレビューの自動化
最もコストがかかるコード行を特定する

24 時間 365 日、優れたエンジニアを呼んでいるようなものです

Amazon CodeGuru は、自動化されたコードレビューとアプリケーションパフォーマンスの推奨事項を提供する機械学習サービスです。アプリケーションのパフォーマンスを損なう最もコストがかかるコード行を見つけ、一晩中トラブルシューティングを続けるのに役立ちます。さらにコードを修正または改善するための具体的な推奨事項を示してくれます。CodeGuru は、機械学習、ベストプラクティス、苦労して得たレッスンによって強化されています。これはオープンソースプロジェクトと Amazon の内部でプロファイリングされた数百万のコードレビューと数千のアプリケーションにわたって培われたものです。CodeGuru を使用すると、リソースリーク、潜在的な同時実行の競合状態、CPU サイクルの浪費などのコードの問題を見つけて修正できます。また、低オンデマンドの料金により、実行するすべてのコードレビューとアプリケーションに十分安価に使えます。CodeGuru は現在、Java アプリケーションをサポートしていますが、より多くの言語が近日中にサポートされる予定です。CodeGuru により、問題をより迅速かつ早期に発見できるため、より優れたソフトウェアを構築して実行できます。
Page-Illo_CodeGuru_380x300

何十年もの知識と経験に基づいて訓練

CodeGuru の機械学習モデルは、Amazon のコードベースでトレーニングされています。モデルは、数十万の内部プロジェクトと、GitHub の 10,000 を超えるオープンソースプロジェクトで構成されています。何万人もの Amazon 開発者が、コードレビューとアプリケーションプロファイリングの長年の経験に基づいて CodeGuru のトレーニングに貢献してきました。たとえば、CodeGuru Reviewer のトレーニングは、ルールマイニングと、ロジスティック回帰とニューラルネットワークの組み合わせを活用した教師あり機械学習モデルを使用して行われます。ベストプラクティスからの逸脱を検出するためのトレーニングを行う際、CodeGuru Reviewer は、AWS API 呼び出しを含むプルリクエストの Amazon コードベースをマイニングします。コードの変更を確認し、さらに並行してマイニングするドキュメントデータと相互参照します。これにより、Reviewer がコードをレビューして推奨事項を提供するときに使用するベストプラクティスの新しいモデルが作成されます。CodeGuru Profiler は、Amazon パフォーマンスエンジニアによるトレーニングも受けており、Amazon で内部的に使用している何万ものサービスのプロファイリングに活用されています。CodeGuru が提供する各推奨事項を受け入れるかどうかは、お客様が決めることができます。フィードバックを多く与えるほど、その推奨事項が向上します。

最もコストがかかるコード行を見つける

CodeGuru Profiler は常にアプリケーションパフォーマンスを最適化をできないかを探り、最も「コストがかかる」コード行を特定します。さらにそれらを修正して CPU 使用率を削減し、計算コストを削減し、アプリケーションパフォーマンスを改善する推奨方法を示します。CodeGuru Profiler から具体的な推奨事項が得られるため、コストがかかるオブジェクトの過剰な再作成や逆シリアル化、非効率的なライブラリの使用、過剰なロギングなどの問題に直ちに対処できます。CodeGuru Profiler は本番環境で継続的に実行され、CPU 容量の消費が最小限に抑えられます。そのため、アプリケーションのパフォーマンスが大きな影響を受けることはありません。アプリケーションのプロファイリングを開始するには、CodeGuru が提供するコードを使用して小さなエージェントをインストールし、CodeGuru コンソールで設定してください。

Screenshot_FIND-YOUR-MOST_Annotated
Screenshot_FIND-YOUR-MOST
 クリックして拡大

アプリケーションのパフォーマンスを最適化する機会を特定すると、Amazon CodeGuru Profiler は、変更を推奨する理由、問題の原因、解決方法を説明し、さらにこの問題がアプリケーションに影響を与えるコード内の場所を明らかにします。

Screenshot_Catch-Code-Issue_2 - Annotations LP
 クリックして拡大

Amazon CodeGuru Reviewer はプルリクエストをスキャンし、Github または AWS CodeCommit のソースコードに対する推奨事項を提供するとともに、問題の原因と修正方法も示します。

コードの問題点を今すぐ把握しましょう – ページングされるのを待つ必要はありません

CodeGuru Reviewer は、不安で眠りを妨げるような問題点を探し、推奨される修正方法を示します。AWS API と SDK を使用する際のベストプラクティスからの逸脱を検出し、ページ区切りの欠落の検出やバッチ操作でのエラー処理など、本番環境の問題につながる可能性のある一般的な問題にフラグを立てます。CodeGuru Reviewer はアトミック性違反や、スレッドセーフではないクラスの使用など、同時実行の問題を検出します。これらは、経験豊富なプログラマでも見つけるのが困難な問題です。リソースが誤って閉じられ、レイテンシーの問題と停止がいつ発生したかを検出します。また正しい入力検証も識別します。入力が正しく行われていないと、サニタイズされていない入力がインジェクション攻撃やサービス妨害などの問題につながる可能性があります。コードのレビューを開始するには、GitHub または AWS CodeCommit の既存のコードリポジトリを CodeGuru に関連付けることができます。

Screenshot_Catch-Code-Issue_2 - Annotations LP

すべてのコードレビューとアプリケーションに使用するのに十分な低料金

CodeGuru は、すべてのコードレビューとアプリケーションに使用するのに十分な低料金です。レビューされたコードの行数とアプリケーションプロファイルごとのサンプリング時間に基づいた、シンプルな月額の従量制料金で課金されます。たとえば、500 行のコードを含む典型的なプルリクエストがある場合、CodeGuru Reviewer を実行するのにかかるコストはたったの 3.75 USD です。最初の 90 日間は無料でお試しいただけます。無料期間経過後は、アプリケーションプロファイルごとのサンプリング時間あたり 0.005 USD、1 か月あたり 100 行のコードごとに 0.75 USD の料金で CodeGuru をお使いいただけます。料金表を参照 »

数千万ドル

Amazon の CodeGuru を使用することで削減されるコスト

Amazon CodeGuru についての開発者談

Quote-Left
Quote-Right
Product-Page_Standard-Icons_01_Product-Features_SqInk
製品の特徴を見る

特徴のページにアクセスする

詳細はこちら 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
無料のアカウントにサインアップ

AWS 無料利用枠にすぐにアクセスできます。 

サインアップ 
Product-Page_Standard-Icons_03_Start-Building_SqInk
コンソールで構築を開始する

AWS マネジメントコンソールで Amazon CodeGuru の構築を始めましょう。

サインイン