EN JP CN

MISRA チェッカー パッケージのインストール

MISRA チェッカー パッケージのインストール

MISRA チェッカーは、Klocwork をインストールした後で手動でインストールできるアドオンチェッカーとして提供されます。Klocwork は、以下の MISRA 規格に対応するチェッカーの広範なセットを提供します。MISRA-C 2004、MISRA C 2012、および、MISRA-C++ 2008。

Klocwork からの以前のバージョンの MISRA チェッカーを使用していた場合

以前のバージョンの Klocwork で使用できるすべての MISRA チェッカーがこのアドオンに含まれており、一部のチェッカーには機能向上が加えられています。そのため、以下の点に留意する必要があります。
  • この MISRA チェッカーパッケージをインストールする前にビルド解析を実行することによって、報告された指摘の違いを更新するためのベースラインを確立する必要性が生じることがあります。
  • 新しいバージョンをインストールする前に、以前のバージョンをアンインストールする必要があります。新しいパッケージをインストールする場合でも、以前にインストールしたパッケージをアンインストールすることが必要です。
  • 以前に、チェッカーを kwdeploy コマンドを使用してインストールした場合は、それらを <projects_root>/plugins/ ディレクトリから削除します。次に、kwdeploy sync コマンドを、以下に説明する通り実行します。たとえば、kwdeploy sync --url http://localhost:8082
  • チェッカーを手動で <server_install>/plugins ディレクトリにコピーした場合は、kwdeploy を使用する代わりに、手動でこのディレクトリから削除します。
  • MISRA チェッカーの以前のバージョンをアンインストールした後、これらのチェッカーがもはやインストールされていないことを確認します。Klocwork Static Code Analysis の製品ポータルで、プロジェクトの [Configuration] タブを開きます。分類基準は、まだ、[Taxonomies] メニューの下にリストされていますが、分類基準を開いても、MISRA 固有のチェッカーはリストされません。

インストール手順

MISRA zip ファイルは、次の Klocwork Server ディレクトリにあります。<server_install>/taxonomies、たとえば、/klocwork/server/taxonomies

MISRA チェッカーパッケージを初めてインストールすると、すべてのチェッカーはデフォルトで無効にされています。MISRA チェッカーパッケージをアンインストールして再インストールした場合、以前に有効にしたすべてのチェッカーがそのまま有効になります。

  1. misra.zip ファイルを、次の Klocwork サーバーディレクトリからコピーします。<server_install>/taxonomies、たとえば、/klocwork/server/taxonomies
  2. zip ファイルを、次の Klocwork サーバーディレクトリに貼り付けます。たとえば、<projects_root>/plugins ディレクトリ/klocwork/server/projects_root/plugins。plugins ディレクトリがない場合は、作成します。
    注: これは、Klocwork サーバーの <server_install>/plugins ディレクトリとは別のディレクトリです。
  3. Klocwork サーバー上で、kwadmin import-config コマンドを実行して、MISRA taxonomy ファイルをインポートします。
    <server_install>/bin>kwadmin import-config <project> <server_install>/taxonomies/<MISRA_taxonomy_file>
    フィールド
    • <MISRA_taxonomy_file> は MISRA .tconf ファイルの 1 つです。たとえば、misra_c_2004.tconf, misra_cpp_2008.tconf, misra_c_2012_c90.tconf または misra_c_2012_c99.tconfなどです。

    分類基準ファイルは Klocwork サーバーの <server_install>/taxonomies ディレクトリにあり、拡張子 .tconf が付いています。MISRA C 2004、MISRA C++ 2008 向け分類基準ファイルがあり、MISRA C 2012 向けには日本語版と英語版の2つがあります。日本語分類基準ファイルには、 misra_c_2012_c99_ja.tconf のようにファイル名に '_ja' が付けられます。

    注: プロジェクト名として 'workspace' を指定すると、(projects_root ディレクトリにある) プロジェクトの構成ファイルのデフォルトのリストに構成ファイルをインポートする必要があります。
  4. インポートするそれぞれの分類基準に、ステップ 3 を繰り返します。
  5. Klocwork サーバーと Klocwork ビルドサーバーの両方で、kwdeploy sync コマンドを実行します。たとえば、
    <server_install>/bin>kwdeploy sync --url http://<Klocwork-Server-host>: <Klocwork-Server-port>/
    注: このコマンドは、Klocwork サーバー用ホストコンピューターだけでなく、Klocwork 解析の実行に使用する、すべての Klocwork ビルドサーバー上でも実行する必要があります。
    MISRA 分類基準は、使用する特定プロジェクトの [Configuration] タブに表示されます。
  6. Klocwork Product Portal を開きます。http://<klocwork_server_host:<klocwork_server_port/、たとえば、localhost:8080 に移動します。このステップは、Klocwork サーバーにアクセスできる、どのコンピューターからでも実行できます。
  7. Klocwork 静的コード解析にログインし、プロジェクトをクリックして、[Configuration] を選択します。MISRA 分類基準が、左側の [Taxonomies] メニューにリストされることを検証します。それぞれの分類基準を選択し、必要な MISRA チェッカーを有効にします。Image:Config editor save.png をクリックします

kwbuildproject を使用してビルド解析を実行することによって、MISRA 規格に対する違反を検出します。Klocwork サーバーとの同期が完了すると、デスクトップ解析用のチェッカーが利用可能になります。

注: 以下のチェッカーは、莫大な数の指摘を生成することがテストで判明しています。そのため、これらのチェッカーを利用する際には、対象コードにおける指摘の有効性やパフォーマンスの影響を鑑みた慎重な判断が必要です。
  • MISRA.BUILTIN_NUMERIC (MISRA-C 2004 6.3, MISRA C++ 3-9-2, MISRA C 2012 Dir 4.6)
  • MISRA.IF.NO_COMPOUND (MISRA-C 2004 14.9, MISRA C++ 6-4-1, MISRA C 2012 15.6)
  • MISRA.INCR_DECR.OTHER (MISRA-C 2004 12.13, MISRA C++ 5-2-10)
  • MISRA.PTR.ARITH (MISRA-C 2004 17.4, MISRA C++ 5-0-15)
  • MISRA.RETURN.NOT_LAST (MISRA-C 2004 14.7, MISRA C++ 6-6-5, MISRA C 2012 15.5)
  • MISRA.ZERO_EQ.IMPLICIT (MISRA-C 2004 13.2)