オージス総研は9月11日、オープンソースソフトウェア(OSS)のC言語プログラム品質解析ツール「AdLint(アドリント)」の新バージョン「AdLint2.0.0」を公開した。2月末にオープンソースソフトウェアとして無償公開を開始し、半年間で6,000回以上ダウンロードされ、国内だけでなく、中国/米国/フランスなど40カ国以上で利用されているという。

AdLintは、C言語プログラムソースを解析して、不具合の可能性を検出し、処理の複雑さを表す「経路複雑度」などの品質メトリクス(品質指標)を測定する。

AdLintの画面

新バージョンでは、ソースコード上の不具合、コンパイラ等では検出できない可能性を指摘する警告メッセージを前バージョンから123種類追加し、計720種類の警告メッセージを出力して警告する。これは、前バージョンから約2割の増強となる。

メッセージ例は、「このヘッダファイルの内容はソース中で参照されていません」、「仮引数を用いて関数内のローカルな変数のアドレスが返却されています」、この関数はプロジェクトの他の関数を介して間接的に再帰呼び出しされています」など。

また、15種類の品質メトリクスを測定、14種類のコード情報(関数定義や変数定義などのソースコードを要約した内容)を出力する。品質メトリクス例は、「経路複雑度」、「被呼出し数」、「デッドコード数」。

さらに、AdLintの解析データを、同社の無償ツール「Adqua」に連携して、品質の得点化・グラフ表示など、視覚的なレポートを出力できる。

AdLintとAdquaの連携イメージ