最近AWSは、機械学習を利用した開発者向けツールであるAmazon CodeGuruの一般提供を発表した。コードの品質を改善し、アプリケーションの最も高価なコード行を識別するためのインテリジェントリコメンドを提供する。
Amazon CodeGuruは、機械学習を使用してコードの品質とパフォーマンスの改善を推奨するマネージドサービスとして、re:Invent 2019でプレビューされた。Amazon Web Servicesのチーフエバンジェリスト(EMEA)であるDanilo Poccia氏によるCodeGuruのブログ投稿によると、このサービスにはいくつかの更新が行われた。
より費用対効果の高い価格モデル、Bitbucketリポジトリのサポート、コマンドラインスイッチを使用してプロファイリングエージェントを起動する機能など、多くの改善が施され、エージェントを実行するためにアプリケーションのコードを変更したり、依存関係を追加したりする必要がなくなりました。
Amazon CodeGuruは、Amazon CodeGuru ProfilerとAmazon CodeGuru Reviewerの2つのコンポーネントで構成されている。Profilerは、開発者が特定の視覚化とコードを改善してコストを節約する方法に関する推奨事項とともに、アプリケーションの最も高価なコード行を見つけるのに役立ちます。さらに、Reviewerは、重要な問題をスキャンし、バグを特定し、修正方法を推奨することにより、コードの品質を向上させるのに役立ちます。
Amazon CodeGuru Profilerは、Clojure、JRuby、Jython、Groovy、Kotlin、Scala、JavaなどのJava仮想マシン(JVM)言語で記述されたアプリケーションをサポートしている。一方、Reviewerのバグ修正に関するリコメンドは、現在GitHub、AWS CodeCommit、またはBitbucketに保存されているJavaコードをサポートしている。
Amazonは一般提供を開始し、ProfilerとReviewerにさらに多くの機能を追加した。Profilerには、異常検出、ラムダ関数のサポート、推奨レポートの問題のコスト、カラーマイコード、CloudWatchメトリックスとアラートなどの新機能がある。また、Reviewerは、GitHub Enterpriseと、不具合を解決してコードを改善するための新しいタイプのリコメンドをサポートするようになった。
CodeGuruは現在、人工知能(AI)と機械学習を使用してコーディングプロセスを改善する開発者ツールに加わっている。Microsoft Visual Studio IntelliSenseなどの開発者ツールは、機械学習を利用したコードのオートコンプリートと、Visual Code、IntelliJ、PyCharmなどのIDEのAIアシスタントプラグインであるKiteを提供する。
アマゾンウェブサービスのAmazon Machine Learning担当副社長であるSwami Sivasubramanian氏は、CodeGuruのGAのプレスリリースで次のように述べた。
CodeGuruは、大規模なアプリケーションの開発とデプロイにおけるAmazonの数十年の経験と、機械学習の専門知識を組み合わせて、ソフトウェアの品質を向上させ、アプリケーションのパフォーマンスを向上させ、最も高価なコード行を排除するサービスを顧客に提供します。
ただし、GAリリースに関するRedditのスレッドの回答者は、独自のコードとデータのプライバシーとセキュリティに関する懸念を表明している。
また、サービスを使用して、すべてではなく一部のコードをスキャンすることもできます。そのため、サービスが独自のアルゴリズムやその他の秘密のソースをスキャンすることを回避できます。
現在、Amazon CodeGuruは10のAWSリージョンで利用可能であり、さらに多くのリージョンに間もなく登場する。また、サービスの料金の詳細は料金ページで確認できる。