「この世で死と税金のほかに、確実と言えるものは何もない」。米国の有名な政治家であり、発明家、物理学者であったベンジャミン・フランクリンは1789年にそう記した。フランクリンが現代の世に生きていたら、その2つに「ソフトウェアのバグ」を付け加えたことだろう。
現代のコンピューター・プログラムは複雑さを増しているため、開発過程でバグが生じるのは避けようがない。そのため、バグを見つけ、修正パッチを書くプロセスは、どんなソフトウェア開発のスケジュールにも普通に組み込まれている。トラヴィス(Travis)など、その手のサービスを開発者に提供している企業も実際にある。
今日、ストックホルムにあるスウェーデン王立工科大学のマーティン・モンペラス教授らの研究のおかげで、開発者たちの夢が実現している。モンペラス教授らは、バグを見つけ、質の高いパッチを書くのを人間の開発者と競えるようなボットをついに作り出したのだ。
研究チームが「リペアネーター(Repairnator)」と名付けたボットは、人間の開発者と修正部分の発見を競うテストにおいて成功を収めた。「プログラムの自動修正に関するソフトウェア工学の研究において、人間に匹敵するボットを作るためのマイルストーンとなるでしょう」とチームは述べる。
パッチを書くプロセスが自動化できることは、コンピューター科学者の間では長く知られている。だが、ボットが人間と同じくらい速さと品質でパッチを書けるかどうかは明らかではない。
そこでモンペラス教授らは、リペアネーターに人間の開発者のふりをさせ、ソフトウェア開発者向けのバージョン管理サイトである「ギットハブ(GitHub)」で、人間とパッチの開発を競わせた。「カギになるアイデアは、ビルドの不具合を修正するパッチを自動生成して、人間の開発者に提示し、人間の開発者がコードベースへの有効な貢献とし …