Intelは、機械学習に基づいてソフトウェアコードの異常パターンを自動的に検出するツール「ControlFlag」をオープンソースとして公開した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Intelは2021年10月25日(米国時間)、自己教師あり学習に基づいてソフトウェアコードの異常パターンを自動的に検出するツール「ControlFlag」をオープンソースとして公開した。2020年12月に発表された後、Intel社内で利用されてきたツールだ。
ControlFlagはGitHubのようなバージョン管理システム上のオープンソースリポジトリをマイニングする。それにより、C/C++のような高級プログラミング言語の制御構造における一般的なパターンを学習し、新たに与えられたコードの異常を検出する。
ControlFlagは単純な誤植(タイポエラー)の検出はもちろん、NULLチェック漏れに対するフラグ付けなど、さまざまな問題検出に利用できる。
ソフトウェア開発者は開発時間の50%以上をデバッグに費やしていると推定されている。ControlFlagは、コードの異常パターンの自動検出機能により、デバッグを改善することを目指したツールだ。
Intelは、開発者がControlFlagを使ってデバッグ作業を効率化し、創造的な作業により多くの時間をかけられるようになることを期待している。
デバッグがソフトウェア開発コストに占める割合は大きい。Intelはケンブリッジ大学の研究を引用して、全世界のソフトウェア開発コストは1兆2500億ドルと推定されており、そのうち50%がデバッグに費やされていると指摘した。
ControlFlagによるデバッグの効率化は、ソフトウェア開発コストの抑制にも貢献すると、Intelは考えている。
ControlFlagの異常検出機能は、機械学習や形式手法、プログラミング言語、コンパイラ、コンピュータシステムを融合させたマシンプログラミングによって実現した。マシンプログラミングは近年、自動デバッグシステムの研究と実用化への応用が進んでいる。
Intelによれば、ControlFlagは次の図のように、「パターンマイニング」と「異常パターンのスキャン」という2つのステップで動作する。
Copyright © ITmedia, Inc. All Rights Reserved.