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