EN JP CN

C# KAST チェッカーの作成

C# KAST チェッカーの作成

C# KAST チェッカーの作成

C# KAST チェッカーの作成

Checker Studio のデモを見るにはここをクリックします

KAST チェッカーの作成の基本手順は次のとおりです。

  1. kwcreatechecker を実行してチェッカーのファイルを作成します。
  2. 最も単純なテストケースを作成します。
  3. Checker Studio を使用して目的の KAST ノードを検索します。
  4. KAST 式のドラフトを作成します。
  5. 式をテストします。
  6. テストケースに複雑度とテストケースを加えます。
  7. KAST 式を checkers.xml ファイルに追加します。
  8. help.xml ファイルにチェッカーのヘルプドキュメントを作成します。
  9. チェッカーをビルドします。
  10. これでチェッカーの展開準備ができました。

これらの手順は、C# KAST チュートリアルで説明しています。

ワークフロー:カスタムチェッカーの作成

KAST チェッカーの作成の基本手順は次のとおりです。

1.kwcreatechecker を実行してチェッカーのファイルを作成します。

kwcreatechecker --language cs --type kast --code <checker_name> 
フィールド、<checker_name> はチェッカーを呼び出す名前です。
コマンドは、チェッカーの作成に必要なスタブファイルを作成して、<checker_name>ディレクトリに配置します。この段階では、ファイルにはテンプレート材料が含まれており、プロセスの中で独自のデータに置き換えます。
  • テストケースが含まれる testcase.cs
  • チェッカーを定義する XPath-like KAST 式が含まれる checkers.xml
  • チェッカーのヘルプが含まれる help.xml
  • チェッカー用ビルドファイルMakefile
  • チェッカーをテストするために kwcheck または kwbuildproject で使用できる build specification (ビルドスペック) ファイルbuildspec.out

2.チェッカーに探させる指摘を含んでいる単純なテストケースを作成し、testcase.cs ファイルに挿入します。

3.Checker Studio を使用して次のことを行います。

  • チェッカーを定義する KAST 式を作成する
  • 式をテストする
  • テストケースに複雑度を加える
Checker Studio はテストケースをソースコードと見なし、階層構造の視覚的表現を抽象構文ツリー (AST) で示します。Studio はツリー構造を構築し、組み込みコンパイラはソースコードのアイテムごとに 'ノード' を作成します。親子関係を通して接続されたノードは、ステートメントや宣言のような多数の中間レベルから、演算記号のような単純な構築にわたるコードサンプル全体になることがあります。
ツリーを使用すると、目的のノードを特定し、修飾子、条件、変数、および反復シーケンスを選択して、チェッカー式を作成できます。また、Studio には式をテストするメソッドも用意されているので、ツリーを検索してソースコード内の欠陥を正確に指摘する KAST 式で完了します。

4.テンプレートスタブファイルを編集します。

<pattern> タグ内のサンプルの KAST 式を自分の式に置き換えることで、KAST 式を checkers.xmlファイルに挿入します。チェッカーのヘルプドキュメント (少なくとも説明) を作成し、help.xml ファイルに挿入します。

5.チェッカーをビルドします。

このステップでは、テストケースの build specification (ビルドスペック) を生成して、ローカルプロジェクトにインポートします。
  • Unix の場合: make install
  • Windows の場合:Visual Studio プロンプトから nmake install
ビルドプロセスでは、チェッカーデプロイメントパッケージを次のファイルに生成します。
  • チェッカーファイルを含んでいる zip ファイル

6.チェッカーをテストします。

チェッカーをデスクトップにインストールして、確かな結果が得られるまでテストします。これを行うには、make で生成したチェッカーデプロイメントパッケージを<username>/.klocwork/<plugins>/csharp ディレクトリに解凍します。

7.チェッカーを展開します。

サーバープロジェクトにチェッカーを展開する準備が完了したら、kwdeploy を使用して展開します。カスタムチェッカーの展開 を参照してください。

次は何?