AWSのCodeGuruは機械学習を応用してコードレビューを自動化

AWSは米国時間12月3日、コードレビューを自動化する機械学習ベースの新サービスのCodeGuruを発表した。同社内でコードレビューを実施して収集したデータに基づくもの。

デベロッパーは、コードを記述したらプルリクエストにCodeGuruを追加するだけでいい。今のところ、GitHubとCodeCommitをサポートしている。CodeGuruは、Amazon社内のレビューと、約1万件におよぶオープンソースのプロジェクトのレビューから得た知識を利用して問題を見つけ、必要に応じてプルリクエストにコメントする。問題を特定するのは当然として、修正方法を提案するほか、関連するドキュメントへのリンクも示してくれる。

CodeGuruには、AWS自身のベストプラクティスが蓄積されている。一般的な問題に加えて、並行処理に関する問題、リソースの不適切な処理や入力の検証に関する問題も指摘してくれる。

AWSとAmazonのコンシューマー部門は、ここ数年、CodeGuruのプロファイラー部分を利用して、「最も高くつく1行のコード」を見つけてきた。その数年間、同社のアプリケーションが大規模なものになっていく中で、CPUの利用率を325%以上向上させ、コストを36%も削減したチームもあったという。

原文へ

(翻訳:Fumihiko Shibata)

コードレビュー支援SaaSのSiderが資金調達、エンタープライズ版の提供も

ソフトウェアエンジニア向けのコードレビュー支援サービス「Sider」を運営するSiderは2月13日、オプトベンチャーズを引受先とする第三者割当増資を実施したことを明らかにした。調達額は非公開だが、関係者の話を総合すると数億円規模の調達ではないかとみられる。

Siderでは資金調達と合わせて、GitHub Enterpriseに対応したオンプレミス版のSider Enterpriseを正式リリースしたことも発表。調達した資金も活用しながら大手企業への普及を目指していく。

同社は2012年にアクトキャットという社名でスタート。プロダクトも以前は「SideCI」という名称だったけれど、現在はどちらもSiderに変更している。今回の資金調達はSBIインベストメントなどから2.1億円を調達した2017年4月以来のもの。前回までの累計調達額は約2億8600万円だ。

「カスタムルール」を通じてチーム内の暗黙知を共有

Siderはコードレビューを自動化するサービス。コーディング規約違反がないか、セキュリティーやパフォーマンスの観点で問題のある書き方をしていないかなどをチェックする。標準的な規約やベストプラクティスだけでなく、「カスタムルール」機能を通じて“自分たち独自のルール”に基づいたレビューもできるのが特徴だ。

Siderによると、実にソフトウェア開発者の業務の15%以上をこの「コードレビュー」が占めているそう(Siderの利用企業に対するインタビュー結果の平均値)。このプロセスを自動化することで、業務時間の削減やソフトウェアの品質向上をサポートするのがSiderの役割だ。

現在はRubyやPHP、Java、Python、Swift、Goなどの言語に対応。Siderが開発したツールも含めて20以上の解析ツールをカバーする。現在数百社に導入されていて、企業規模はスタートアップから上場企業までさまざま。日本を中心にアメリカやイギリス、インドなど数十ヶ国にユーザーがいる。

Sider代表取締役の角幸一郎氏によると、以前までは「コードレビューの自動化」を特徴として打ち出していたが、今はそれに加えて「チーム内やプロジェクト内で暗黙知となっているナレッジを共有できるサービス」であることを訴求しているようだ。

「特定の誰かは知っているけれど、他のメンバーは知らない知識やルールをSiderに蓄積することで共有できる。それらの情報はソースコードを読めば全てがわかるようなものでもなく、社内のWikiにも書かれていなかったり、書かれていたとしても情報量が多くて埋もれてしまっていたりする」(角氏)

この“暗黙知の共有”をサポートするのが、独自のルールをSiderに取り込めるカスタムルール機能だ。

たとえば障害が起きてしまった時のコードをSiderに組み込んでおけば、次回以降は自動で検知され、再発を防ぐことができる。新しいメンバーが効率よくチーム内のルールを把握することにも役立つし、重大なミスを事前に防ぐためのチェックリスト的な役割にも使える。

角氏の話では、携わるメンバーが多い大規模なプロジェクトや、定期的にメンバーの入れ替わりがあるような組織では特に効果的ではないかとのこと。実際のところ、大手企業の担当者とも話をする機会が増えてくる中で、チーム内での情報共有に関する課題とその解決手段に対するニーズが見えてきたのだという。

エンタープライズ版もスタート、大手企業への導入加速へ

大手企業のニーズへの対応という観点では、オンプレ版のSider Enterpriseを正式にスタートする。これまでも正式にアナウンスはしていなかったものの取り組み自体は着手していたそうで、KDDIやDMM.comなどがすでに導入済みだ。

今回の資金調達を経て、プロダクトの改善や販売活動の拡大を進める計画。エンタープライズ版のリリースを機に、これまではリーチできなかったような大企業への展開にも力を入れる。

またチーム内でのナレッジの暗黙知化や属人化は「グローバルで共通する課題」(角氏)でもある。コードレビューを自動化できるツールとしては「Codacy」や「Code Climate」などがあるが、カスタムツールを軸にコードレビューの領域にフォーカスした支援ツールとして、引き続きグローバルでの普及を目指す方針だ。

DeepCodeはAIの力でコードを洗う…未来のフロントエンドはプログラミングの自動化

チューリッヒのDeepCodeは — 基本的にはコードを分析して改良するためのツールだが — プログラマーのための文法チェッカー/文章改良ツールGrammarlyみたいだ。このシステムはユーザーのGitHub上のリポジトリを読み、25万のルールのコーパスを使って問題とその修復方法を教え、ただしそれによって互換性が壊れないように、そしてもっと良いプログラムになるようにする。

Veselin Raychevが創業し、アドバイザーとしてMartin VechevとBoris Paskalevが加わった同社のチームは、機械学習とAI研究の幅広い経験がある。このプロジェクトはスイスのチューリッヒ工科大学からスピンオフした独立の研究プロジェクトが、プログラミングのためのユーティリティになったものだ。

で、その実際の仕事ぶりはどうか? かなりよろしい。自分の公開リポジトリのひとつをこのシステムに通してみたが、449のファイルに対して49件の提案をもらった。その中には文字通りのコード書き換え — name: String,name: {type: String},に変える — もあるし、必要なファンクションコールがないようだ、という示唆もある。自分のコードに隠れているバグを見つけたいときには、なかなかおもしろいツールだ。このツールがくれるアドバイスは、驚くほど正確だ。それは、人間が見逃しがちな間違いのあるコードを大量に読んだ(学習した)結果作りだすリコメンデーションだからだ。

Paskalevは語る: “コードの意図を理解するプラットホームを作った。それは何百万ものリポジトリを自動的に理解し、デベロッパーがやろうとしている変更に注目する。そしてAIエンジンをそれらの変更で訓練し、プラットホームが分析するコードのすべての行に、ユニークな提案を提供する”。

“今は25万あまりのルールがあり、毎日増えている。競合システムはルールを手作業で作ってるから、最大のシステムでも、長年かけてやっと3000か4000のルールを作った程度だ”。

自己資本のみだった同社は最近、ドイツのbtov Partnersから110万ドルを調達した。ファウンダーたちはいずれも複数回の起業経験がある。PaskalevはVistaPrintとPPAGの創業に関わったし、Raychevは、プログラミング言語のセマンティクスの機械学習という分野の研究者だが、以前はGoogleで働いていた。

DeepCodeは単純なデバッガーではなく、コードを“読んで”それを他の実装と比較する。そしてそれにより、どの行も最高のパフォーマンスを発揮できるように、改良を示唆する。今チームは、多くのプログラマーがそれを使ってくれることを待っている。

“われわれのは、Grammarlyが書かれた言葉を理解するようにソフトウェアのコードを理解する、ユニークなプラットホームだ。その最初のサービスだけでも、ソフトウェア開発のコミュニティは数十億ドルを節約できるし、その次には業界をコードの完全な自動合成へと変身させるフロントエンドを提供できるだろう”、とPaskalevは述べている。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

コードレビューサービスの繁盛でPullRequestはシードから数か月後に$8MのシリーズAを調達

オンデマンドのコードレビューをクラウドサービスとして提供しているPullRequestは最近忙しい。でもそれは、どんなスタートアップでも大歓迎するような忙しさだ。昨年8月にY Combinatorを卒業したばかりの同社はまだ、スタートアップの流儀を学んでいる最中だ。12月には230万ドルのシードラウンド を勝ち取り、資金面では安泰なはずだが、今日同社は同社のシードをリードしたシード投資家Google Gradient Venturesが率いるシリーズAによる、さらに800万ドルの資金調達を発表した。

今日発表された投資には、Y Combinator, Fika Ventures, Lynett Capital, Defy Partnersなど、そのほかのシード投資家も参加した。同社はわずか数か月で合計1030万ドルを調達したことになる。

なぜどうして、花の蜜にたかる蝶のように投資家は同社に殺到するのか? PullRequestは、デベロッパーの大きな痛点を治療する。開発サイクルがはやくなると、真っ先に犠牲になるのが、コードの品質管理だ。同社のファウンダーでCEOのLyal Averyが昨年8月に本誌に語ったところによると、同社はオンデマンド方式でこの問題を解決している。彼は、こう語る:

“われわれは、コードレビューをSaaSとして提供している。デベロッパーがコードをプッシュすると、うちが抱えるオンデマンドのエキスパートたちがそれをレビューする。これによってデベロッパーたちは、負担増となる重いリソースを自分のところで抱えなくても、快調に前進できる。

12月のシードラウンドのときは、Averyはそのプラットホームにオートメーションとインテリジェンス(AI)を導入したい、と言ったが、最近では、今もその方向に向かって進んでいる、という。そこで早期の800万ドルの導入、となる。

今は、大規模なデータリークがあちこちで発生している。Averyも、今後のコードレビューではバグや問題を見つけるだけでなく、フィットネスのUnder Armourなどがやられたようなデータリークの防止にも力を入れなければならない、と言っている(Under Armourの名はたまたまごく最近の例だから挙げたにすぎない)。彼は自明の理由によりクライアントの名は明かさなかったが、最近同社は、コード中に脆弱性を見つけて、リークを未然に防ぐことができた、という。

投資をリードしたGradient Venturesの専務取締役Anna Pattersonは、オンデマンドとコードレビューは強力な組み合わせだ、と見ている。“PullRequestは、良質なコードと仕事の未来が交わるところにいる。AIを使ってコードレビューのアクセス性を良くし、大小を問わずあらゆる企業がコードレビューを気軽に発注できるようにしている”、と彼女は声明文の中で言っている。

コードレビューとバグ追跡は、スタートアップのホットな分野であり続ける。開発サイクルがどんどんはやくなっているから、企業もコードレビューを外注に頼らざるをえない。タイムフレームが長かった昔は、開発のワークフローの中でコードの品質管理をやる余裕があった。しかしタイムフレームはだんだん圧縮され、余裕がなくなり、PullRequestのようなところに頼まざるをえなくなっている。投資家たちは、そこに着目する。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

コードレビューサービスのPullRequestがGoogleのGradient Venturesらから$2.3Mを調達

Y Combinatorの今年の夏季の卒業生PullRequestが今日(米国時間12/7)、230万ドルのシードラウンドを発表した。そのラウンドをリードしたのは、GoogleのAIに特化した新設ファンドGradient Venturesだ。そして、Slack Fund, Fika Ventures, Defy Ventures, Lynett Capital, FundersClub, Joe MontanaのLiquid2 Venturesらがこの投資に参加した。

同社は、コードレビューをサービスとして提供する。今日の高速でアジャイルな開発サイクルでは、コードのレビューがおろそかになりがちだ。同社は、オンデマンドで仕事に応じるコードレビュワーたちのシステムを編成しており、彼らがバグやセキュリティの問題、コーディングのスタンダード、それにパフォーマンスの問題などをチェックする。

それはGoogleのGradient Venturesのミッションとは無縁なようだが、PullRequestのファウンダーLyal Averyによると、同社のロードマップには単なるコードレビューサービス以上のものもあるのだそうだ。

そのプランとは、コーディングという工程にオートメーションを導入して、コードの依存性や、オープンソースのコード片などの、重要なアップデートを自動的に検出することだ。実はSlackが同社のシードラウンドに参加しているのも、依存性を構成するピースがアップデートを要請していることをデベロッパーに伝えるSlackボットで、PullRequestが初めて、このような自動化に取り組んでいるからだ。そのプロジェクトはまだアルファでテスト中だが、同社の今後進むべき方向性を示している、とAveryは説明する。

Averyによると、コードレビューというサービスは、コーディングプロセスに関するデータの量がどんどん増えていくし、またレビュワーに問題がある場合もある。そこで同社は、コードレビューの過程そのものをレビューしスコアをつけて、適正なデータ集合を作らなければならない。彼の見解では、コードレビューが完全に無人化することはありえないとしても、そういうデータ集合を有効活用すれば、よくある一般的な問題なら修正を自動化できる。“最終的には、コードレビューをどこまで効率化できるか、という問題に帰結するんだよ”、と彼は語る。

8月にAveryに会った時点では、同社のレビュワーはおよそ200名、ユーザーは300社だった。それが今日(米国時間12/7)は、ユーザー企業1000社、レビュワー1900名に大きく成長している。

Y Combinatorを卒業したAveryは故郷のテキサス州オースチンに戻り、そこで新たに4名を雇用して社員数は6名になった。今回の資金の用途は、成長の維持と、来月とりあえず社員数を倍増することだ。そしてそこから、新たなスタートが始まる。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

コードレビューを助けるプラットフォームCodacyが510万ドルを調達

ポルトガルのリスボンを拠点として、「自動コードレビュープラットフォーム」を提供しているスタートアップのCodacyが、シリーズAの資金調達で510万ドルを調達した。ラウンドを主導したのはEQT Venturesであり、参加者は既存の投資家のFaber、Caixa Capital、Join Capital、そしてSeedcampである。

2014年に創業したCodacyによれば、同社のシステムはPaypal、Adobe、Qlik、Cancer Research UK、Deliverooなどを顧客として、数多くの企業に採用されている。このソフトウェアは、自社内にインストールすることも、クラウド上でアクセスすることも可能で、開発者はコードの品質をチェックし、コード品質基準を実装することができる。

「コードレビューは、開発ワークフローの不可欠な要素となっており、開発者は現在、バグをできる限り早く発見し品質を保証するために、コードレビューに20%以上の時間を費やしています」とCodacyの共同創業者Jaime Jorgeは語る。「Codacyを使うことによって、開発者はコードレビューに使う時間を3割削減することができると見積もっています」。

これは、Jorgeの主張するところによれば、エンジニアリングチームの効率性を6%向上させることに相当する。あるいは、より具体的な言葉で言うならば、例えば計画よりも2週間早くソフトウェアを提供することができるということだ。

「コードのレビュー以上に、私たちの使命は、大規模なシステムでの品質確保を通して開発者の生産性を維持するということです。私たちはこれを、最も重要な問題、警告、そしてメトリックスを一元化し、ワークフローに完全に統合することで実現します」と彼は語る。

「たとえば、開発者がプルリクエストを作成しようとする際に、システムが発見したセキュリティの脆弱性を伝えるだけでなく、テストカバレージがチームの定義された目標基準に達しているかどうかを伝えることもできます。当社は、開発者がコード品質を理解し、優れた設計上の決定を下すのを支援する目標に向けて、クラス最高の製品提供することを確実にするために、製品を継続的に開発していきます」。

Codacyの顧客は、小規模なデジタルコンサルタント会社から、大規模な多国籍企業まで、さまざまな業界や地域にまたがっている。

直接の競合相手としてはCode ClimateとSonarqubeが挙げられるが、JorgeによればCodacyはGithub Enterpriseなどの好きなツールと自動的に同期するといった形で、ワークフローに統合されているので、顧客はCodacyを選ぶのだという。「これは非常に大規模な顧客にとっては、特に便利な機能です」と彼は付け加えた。

一方、新たな資金調達は、チームをさらに強化して、幅広い顧客層に向けてCodacyをを拡大できるようにするために使用される。同社は現在、13人の従業員を抱えているが、ソフトウェアエンジニアリング、カスタマーサクセス、販売、マーケティングの分野の人材を募集しているということだ。

[ 原文へ ]
(翻訳:Sako)