ストリームでの作業

バリアントごとに個別のプロジェクトを作成する必要はなく、単一のコードベースを対象に複数のストリームを作成できます。ストリームには次の利点があります。

  • 単一のプロジェクトルール構成を、すべてのバリアントに割り当てることができます
  • 複数のバリアントに共通する指摘は、自動的に同期され、引用される必要があるのは一度だけです
  • コンプライアンスと機能安全性レポートに必要となるに応じて、個々のストリームごとにレポートが可能です
  • 複数のストリームに存在する同一の指摘と、特定のストリーム内にのみ存在する一意の指摘を、より簡単に識別します
  • 解析データの編成がより便利であり、保管がより効率的です
構成 (有効なチェッカー、分類、カスタム KB など) は、プロジェクトとそのストリームの間で共有されることに注意してください。

例: バージョンが複数あるコードベースでの作業

あなたは自動車製造元であり、製造するいくつかのモデルに基づいて、バリアントが複数あるメインのコードベースがあるとします。コードの大部分は、異なるモデルの間でも同じままですが、ターゲットプラットフォームやブランド、含まれているモジュールが異なるなど、わずかに違う場合があります。これまで、個々のバリアントごとにコンプライアンスレポートを作成可能にするために、バリアントごとに個別の Klocwork プロジェクトを作成し、kwxsync を使用して共有コードの一般的な指摘について、プロジェクト間で引用データを同期する必要がありました。

この機能により、1 つのコアプロジェクトを保持しながら、いくつかのストリームに分割することで、プロセスを簡素化できます。ストリーム内の解析データを視覚化することで、ストリーム間で共有されている指摘をすばやく認識し、一度だけ引用または修正し、個々のストリームごとに一意の指摘をより簡単に識別できます。

ストリームを作成する方法

  1. Klocwork ポータルから、[プロジェクトの新規作成] を選択することで、ベースプロジェクトを作成します。
  2. 次に、ベースプロジェクトに関連するストリームを作成します。プロジェクトをクリックすると、右側に新しいウィンドウが表示されます。[ストリームの作成] を選択します。
  3. ストリームの名前を入力します。[ストリームとして作成] ボックスと [親プロジェクト] フィールドが、自動的に事前設定されます。ストリームに関連する説明とタグを追加することもできます。終了したら、[作成] をクリックします。
  4. 追加のストリームを作成するには、手順 1 ~ 3 を繰り返します。プロジェクトリストからストリームを選択し、これらの同じ手順を繰り返すことで、ストリームのストリームも作成できることに注意してください。

ストリームへのビルドのロード

他のプロジェクトの場合と同じように、解析を実行し、その結果を個別のストリームにロードできます。

Restriction: プロジェクト全体で一度にロードできるビルドは 1 つだけです。

  1. Kwbuildproject を使用して、ソースコードで Klocwork 解析を実行します。
  2. Kwadmin load で、生成されたテーブルをストリームにロードします。
    kwadmin load <path-to-stream> <tables_directory>
    例:
    kwadmin load myProj/variant1 tables
  3. 他のストリーム用のソースコードのバージョンで解析を実行し、次のコマンドで、それを他のストリームにロードします。
    kwadmin load <path-to-other-stream> <tables_directory>
    例:
    kwadmin load myProj/myStream1/subVariant tables

Restriction: ストリーム名には、スペースまたは引用符を使用することはできません。ストリーム名には、各プロジェクトまたはストリームの間でフォワードスラッシュを必ず使用します。

ビルドをストリームにロードしたら、ポータルでプロジェクトリストからプロジェクトまたは関連するストリームを選択して、右側のパネルで統合された指摘のリストを確認できます。このセクションには、選択したプロジェクト内のすべての指摘の合計が、そのすべてのストリームを含めて表示されます。統合されたリストには、重複する指摘は含まれていないことに注意してください。

ストリームでの指摘の引用

同一の指摘の引用は、プロジェクトとそのすべてのストリームの間で共有されます。これにより、引用情報を同期するために、ストリーム間で kwxsync を実行する必要はなくなります。ベースプロジェクトの場合に通常行うように、ストリーム内の指摘を引用するだけです。引用は、他のすべての関連ストリーム内で、この同じ指摘に自動的に適用されます。

指摘が一意でない場合、指摘が存在するすべてのストリーム内に同じ指摘 ID があります。さらに、[指摘] ページから指摘に移動すると、右側のテーブルに、他のどのストリームにこの指摘が存在するかが表示されます。

一意の指摘とは何か

指摘が 1 つのストリームにのみ存在するならば、この指摘は特定のストリームにとって一意であると見なされます。これは、この指摘がストリームのいずれかのビルドで発生したことを示しており、現在のところ、指定されたストリームでの最新のビルドでは「修正済み」状態でないことを示しています。

プロジェクトページ、ストリームのビューページ、およびストリームのビルドページに表示される最新のビルドで、現在未解決の固有な指摘の数を確認できます。

ストリームの非表示

[ストリームを非表示] チェックボックスを選択すると、プロジェクトリストで (および表示されている場合はクロスプロジェクトレポートで) ストリームを非表示にすることができます。この設定は、現在のブラウザーセッションを通じて保持されます。ベースプロジェクトをクリックし、右側パネルで [ストリーム] セクションを閲覧することで、プロジェクトページでストリームに関連する情報を引き続き確認できます。

ストリームの削除

プロジェクトリストで、ストリームの横にある アイコンを選択することで、ストリームを削除できます。子があるストリームまたはプロジェクトを削除すると、それらも削除されることに注意してください。