EN JP CN

分類基準とカテゴリの構成

分類基準とカテゴリの構成

Klocwork には、3 つのデフォルトの組織構成つまり分類基準があります。

  • C とC++
  • Java
  • C#

各分類基準には、カテゴリ別にグループ分けされた 1 組のチェッカーがあります。

これら 3 つのデフォルトの分類基準により、その名が示唆するとおり、すべてのチェッカーが言語別に整理されます。分類基準をセットアップして、自分にとって重要なことを何でも報告させることができます。たとえば、次のようになります。

  • CWE などの基準を用いてコンプライアンスを測定します。この場合、基準違反を検出するチェッカーだけを含めます。CERT、CWE、DISA STIG、および OWASP 用の分類基準ファイルは、<server_installation>/taxonomies フォルダーに格納されています。これらの分類基準は、ユーザーが選択してインポートできます。
  • ソフトウェア品質を測定するには
  • ソフトウェアセキュリティを評価するには

分類基準は独自のものを作成できます。設定する構造は、Klocwork Static Code Analysisconnected desktop (コネクテッドデスクトップ) でレポートに使用できます。

スタンドアロンの分類基準エディターを開く

スタンドアロンの分類基準エディターは、カスタム分類基準やカテゴリを設定し、リファレンス情報を編集するために使用します。これには、次のいずれかのコマンドをコマンドラインから実行してアクセスします。

新しい構成ファイルを作成するには、次のコマンドを実行します。

kwtaxonomyeditor

分類基準エディターが別ウィンドウに開き、必要な変更を行えるようになります。変更が終わったら、[OK] をクリックします。見つけやすい場所にファイルを保存し、kwadmin#kwadmin import-config コマンドを使用してプロジェクト用にインポートするか、Static Code Analysis 中の特定のプロジェクトの [構成] タブを使用してインポートします。

既存の構成ファイルが含まれたプロジェクトについては、次のコマンドを実行します。

kwtaxonomyeditor <path/to/mytconf.tconf>

この状況では、変更を加えるプロジェクトの分類基準ファイルをポイントしていることを確認します。

kwtaxonomyeditor "C:\Klocwork\Server 12.0\projects_root\projects\csvtosql\rules\mytconf.tconf"

分類基準とカテゴリの作成と編集

分類基準とカテゴリの作成と編集には、スタンドアロンの分類基準エディターを使用します。デフォルトの分類基準は、読み取り専用で編集はできません。

  • 新しい分類基準の追加:エディター内の任意の空白部分を右クリックし、[新しい分類基準] をクリックします。[新しい分類基準を作成] ダイアログで名前を入力して [OK] をクリックします。
  • 新しいカテゴリの追加:分類基準を右クリックしてカテゴリを作成します。[新しいカテゴリ] をクリックします。[新しいカテゴリを作成] ダイアログで名前を入力して [OK] をクリックします。
  • カテゴリ名の変更:右クリックして[名前の変更] をクリックします。[名前の変更] ダイアログで新しい名前を入力して [OK] をクリックします。
    注: 分類基準の名前は変更できません。
  • 分類基準またはカテゴリの削除:右クリックして [削除] をクリックします。[OK] をクリックして確定します。分類基準またはカテゴリと そのコンテンツがすべて 削除されます。デフォルト以外の分類基準とカテゴリについては、この変更は元に戻せません。
  • 分類基準からのチェッカーの削除:右クリックして [削除] をクリックします。[OK] をクリックして確定します。
注: 日本語のインストール内で英語でのカスタム分類基準を使用する場合の言語属性は、'ja' に設定されている必要があります。言語設定のない古い分類基準にも、ロケールとしての 'en' または 'ja' を含むように変更する必要があります。

分類基準へのチェッカーの追加

チェッカーを追加する方法はいくつかあります。

  • 別の分類基準からドラッグします。チェッカーを分類基準からドラッグすると、その分類基準からは削除されることに注意してください。
  • 別の分類基準からコピーアンドペーストまたはカットアンドペーストします (右クリックメニューまたは Ctrl+x、Ctrl+c、および Ctrl+v)。
  • 分類基準またはカテゴリを右クリックし、指摘を追加 をクリックします。[指摘を追加] ダイアログで指摘コードを入力し始めると、オートコンプリート機能により候補が一覧表示されます。リスト内の項目をダブルクリックし、[OK] をクリックします。 指摘コードのリストについては、C および C++ チェッカーリファレンスJava チェッカーリファレンス、および C# チェッカーリファレンスを参照してください。

1 つの分類基準にチェッカーは複数回登場できないため、同じ分類基準内で 1 つのカテゴリから別のカテゴリにコピーアンドペーストはできないことに注意してください。できるのは、カットアンドペーストかドラッグアンドドロップだけです。

分類基準ファイルの次の場所へのインポート: Klocwork Static Code Analysis

カスタム分類基準ファイル (.tconf) を作成したら、次の手順に従ってそれを自分のプロジェクト用にインポートできます。

  1. Klocwork Static Code Analysis にログインします。
  2. Klocwork Static Code Analysis のプロジェクトリストで、ファイルをアップロードする先のプロジェクトをクリックします。
    プロジェクト詳細が表示されます。
  3. プロジェクト詳細で、[構成] をクリックします。
  4. [構成] ページで [構成ファイルの追加] をクリックします。
  5. [ファイルの選択] ダイアログで次を参照します。
    <projects_root>/projects/<project_name>/rules/<yourtaxonomyfile>.tconf (または、分類基準ファイルの保存用に選択した別のパス)
    ただし、<project_name> はコピーする構成があるプロジェクトです。
  6. [アップロード] をクリックします。

チェッカーのリファレンス情報の編集

[リファレンス] フィールドには、チェッカー用に追加する追加情報を入力することができます。[リファレンス] フィールドは、分類基準固有です。つまり、あるチェッカーが複数の分類基準に存在する場合、[リファレンス] フィールドに複数の値が入ることになります。また、分類基準間でチェッカーをコピーまたは移動しても、リファレンス情報はコピーおよび移動されないという意味です。

このフィールドの一般的な用途は、チェッカーを標準内の規則にマッピングすることです。たとえば、チェッカー MISRA.ASM.ENCAPS は、MISRA-C rule 2.1 とMISRA-C++ rule 7-4-3 両方の違反を検出します。これら規則番号は両方ともこのチェッカーの [リファレンス] フィールドに埋め込んであります。

リファレンスフィールドは、Klocwork Static Code Analysisデベロッパーデスクトップツールで表示可能です。デスクトップツールでは、"Ref" と略記されています。

チェッカーのリファレンス値を変更するには:

  1. スタンドアロン Taxonomy Editor を開きます
  2. 指摘カテゴリを展開して変更するチェッカーを表示します。
  3. チェッカーを右クリックします。
  4. ポップアップメニューで リファレンスを編集 をクリックします。
  5. [Specify Reference] ダイアログで値を入力します。
  6. [OK] をクリックして変更を保存します。

リファレンス情報は、カスタマイズ済みの .tconf ファイルの一部として含まれています。