多くの人にとって、コードを書けるようになるということは、新しい言語を習うようなものだ。しかし、Intelやマサチューセッツ工科大学(MIT)の研究者はその状況を変えようとしているようだ。彼らが目指している解決策は、コードを作れるようなコードを作ることといえるかもしれない。
Intel LabsとMITの研究者らは最近、新しいマシンプログラミングシステムを発表したとしていた。自動化ツールを利用することで開発の生産性向上を目指すものだという。この研究チームは新たなツールについて発表し、いつの日か自分自身をプログラミングできるようなマシンを作るという可能性に一歩近づいたかもしれない。
IntelとMIT、ジョージア工科大学の研究者が開発したMISIM(Machine Inferred code Similarity)と呼ばれる技術は、コードの断片を調べることで、そのソフトウェアが何を意図しているかを理解できる。またそのシステムは、同様の機能を果たす場合にほぼ同じとレーティングする類似性スコアが付与されたソフトウェアのコードのデータベースを構築できる。
MISIMは、このあらかじめ用意されたコードのカタログに基づいて、新しく作られたアルゴリズムの意図を理解し、ソフトウェアを開発しているエンジニアに、他のプログラミングの方法を提案したり、コードをより効率化するための修正候補や別の選択肢を提供したりすることができる。
Intelは、当面の間このツールを社内で利用し、デバッグ作業などの日常的なタスク(プログラマーの業務時間の半分が、こうした作業に費やされていると言われている)を行っている開発者の支援に使う予定だという。Intelが、MISIMが導入され始めれば、多くの開発者から大きな期待が集まると予想するのも不思議はない。
MITの研究者であるRyan Marcus氏は、米ZDNetの取材に対して、「MISIMでわれわれが目標としているのは、『このAPIをもっとも効率的に利用する方法』や『この入力を正しく検証する方法』といった基本的な問題に関して、開発者を支援することだ。そうすれば、エンジニアは現実世界に影響を与えるような意味のある仕事に費やす時間を増やせる」と述べている。
MISIMの基礎になっている「コードの類似性」と呼ばれる概念は、特に新しいものではないかもしれない。これは特定のコードの断片が、すでに存在しているコードと似ているかどうかを判定する技術で、既存のプログラムを参考にしようとする開発者によって、すでに広く利用されている。