ITmedia NEWS > 企業・業界動向 >

「Amazon CodeGuru」が正式版に 機械学習によりコードの問題部分や遅い部分を指摘

» 2020年07月02日 13時57分 公開
[新野淳一ITmedia]

この記事は新野淳一氏のブログ「Publickey」に掲載された「機械学習によりコードの問題部分や遅い部分を指摘してくれる「Amazon CodeGuru」が正式版に」(2020年7月2日掲載)を、ITmedia NEWS編集部で一部編集し、転載したものです。

 米Amazon Web Servicesはこのほど、機械学習のモデルによるコードレビューを自動的に行い、問題があると思われる部分や性能低下につながっている部分などを指摘してくれるサービス「Amazon CodeGuru」が正式版となったと発表しました。

 Amazon CodeGuruは、2019年12月に行われたAWS re:Invent 2019で発表された新サービスです。Amazon社内の数十万の内部プロジェクトと、GitHub上の1万以上のオープンソースプロジェクトのコードを基に教師ありの機械学習を行ったモデルを使ってコードを分析します。

 コードの問題を検出し、推奨される修正方法を示してくれる「Amazon CodeGuru Reviewer」と、アプリケーションの性能最適化を支援する「Amazon CodeGuru Profiler」の2つの機能があります。

 CodeGuru Reviewerは、ソースコードのプルリクエストを自動的に分析して重要な問題を見つけ、コードの欠陥を解決するための推奨事項を示してくれます。具体的には、スレッドセーフの問題、サニタイズされていない入力情報の使用、資格情報などの機密データの不適切な処理、リソースリークなどを発見、解決方法を提案します

 さらに、コード内のAWS APIとSDKの使用状況も確認し、最新のAWSの機能を利用しているかどうかを判断、ベストプラクティスを提示してくれます。

 Amazon CodeGuru Profilerは、プロファイラとして情報を収集したうえで、アプリケーションのCPU使用率とレイテンシの特性を分析、もっとも実行コストがかかっているコードの行を特定します。あわせて、CPU仕様率や計算コストを削減し、性能を改善するための方法も提示してくれます。

 Amazon CodeGuru Reviewerは現在のところ、GitHub/GitHub Enterprise、Bitbucket、AWS CodeCommitのリポジトリに保存されている Java言語をサポート対象とし、Amazon CodeGuru Profilerは、JavaVM言語(Java、Scala、Kotlin、Groovy、Jython、JRuby、Clojure)をサポート対象としています。

Copyright © ITmedia, Inc. All Rights Reserved.