検索
連載

タダでソフト開発の生産性と品質を上げる方法(1):意外に使える無料のソースコード測定ツール「SourceMonitor」山浦恒央の“くみこみ”な話(91)(3/3 ページ)

「“くみこみ”な話」の新シリーズが開幕。テーマは「タダでソフト開発の生産性と品質を上げる方法」です。第1回は、ソースコードを簡単に分析し、計測するフリーツール「SourceMonitor」を紹介します。

Share
Tweet
LINE
Hatena
前のページへ |       

3.3 実践編

 本項では、SourceMonitorを使い、実際にコード・メトリクスを測定します。例として、リスト1のプログラムを測定対象にします。

#include<stdio.h>
void triangle_handler(int side1, int side2, int side3);
main() {
        triangle_handler(1,2,3);
        triangle_handler(4,4,4);
        triangle_handler(3,3,4);
        triangle_handler(3,4,5);
}
void triangle_handler(int side1, int side2, int side3)
{
        //入力チェック
        if ( (side1 <= 0) || (side2 <= 0) || (side3 <= 0) ) {
                printf("入力エラー\n");
                return;
        }
        //三角形判定
        if ( (side1 + side2 > side3) && (side2 + side3 > side1) && (side3 + side1 > side2) ) {
                if (side1 == side2 && side2 == side3 && side3 == side1) {
                        printf("正三角形\n");
                } else if ( (side1 == side2) || (side2 == side3) || (side3 == side1) ) {
                        printf("二等辺三角形\n");
                } else {
                        printf("不等辺三角形\n");
                }
        } else {
                        printf("三角形ではありません\n");
        }
}
リスト1 例題プログラム

3.3.1 準備

 リスト1のプログラムを「ファイル名.c」として任意の場所に保存します。注意点としては、保存するファイルの文字形式はUTF-8とはしないようにしてください。

3.3.2 計測

 保存したファイルのコード・メトリクスを測定します。SourceMonitorを開き、「File」から「New Project」を選択すると、以下の図7の左画面が表れます。今回は、C言語を使用するので、「Project Source Code Language」欄の「C」にチェックを入れて、「次へ(N)」を選択します。

 次に、「Project File Name」に任意の名前を入力し、「Project File Directory」では、リスト1で保存したプログラムがあるディレクトリを入力します。入力後、「次へ(N)」を選択します。

図7
図7 各種設定画面-1(クリックで拡大)

 「Select Search Directory」にファイルのディレクトリを入力し、「次へ(N)」を選択します。次の、「Specify Project Name」画面で、任意の箇所にチェックを付けたのち、「次へ(N)」を選択します。

図8
図8 各種設定画面-2(クリックで拡大)

 図9は、どちらも「次へ(N)」を選択してください。

図9
図9 各種設定画面-3(クリックで拡大)

 「Confirm New Project」画面で、「完了」を選択し、次の画面で、「OK」を選択します。

図10
図10 各種設定画面-4(クリックで拡大)

 以下の画面に測定結果が表れます。

図11
図11 各種設定画面-5(クリックで拡大)

 主要な分析結果を確認しましょう(表2)。

Files(ファイル数) 1
Lines(全行数) 28
Functions(関数の数) 2
Max Complexity(複雑度の最大値) 15
Max Depth(ネストの最大値) 3
表2 分析結果

 このように、分析結果が出ます。例題プログラムは、全28行、関数が2個、複雑度の最大値が15、ネストの最大値が3となりました。28行のプログラムで、複雑度の最大値が15もあるのが少し気になります。

 このように、ツールを使用すると、簡単にプログラムのメトリクスを計測できます。

4.終わりに

 ソフトウェアを効率よく開発する方法の1つが、作業の自動化です。近年では、フリーの開発支援ツールが多く出回るようになり、作業工程の自動化が期待できます。今回は、コードメトリクス測定ツールのSourceMonitorを紹介しました。本ツールを活用すると、プログラム計測の自動化やバグが起きそうな箇所を事前に洗い出せます。

 次回は、組み合わせテストケース生成ツールの「PictMaster」を紹介します。

参考文献

[1]Interface 2015年11月号, CQ出版, 2015


【 筆者紹介 】
山浦 恒央(やまうら つねお)

東海大学 大学院 組込み技術研究科 非常勤講師(工学博士)


1977年、日立ソフトウェアエンジニアリングに入社、2006年より、東海大学情報理工学部ソフトウェア開発工学科助教授、2007年より、同大学大学院組込み技術研究科准教授、2016年より非常勤講師。

主な著書・訳書は、「Advances in Computers」 (Academic Press社、共著)、「ピープルウエア 第2版」「ソフトウェアテスト技法」「実践的プログラムテスト入門」「デスマーチ 第2版」「ソフトウエア開発プロフェッショナル」(以上、日経BP社、共訳)、「ソフトウエア開発 55の真実と10のウソ」「初めて学ぶソフトウエアメトリクス」(以上、日経BP社、翻訳)。


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る