Kiuwanコードアナライザーのカスタムルールの作成

Kiuwan静的コードアナライザーに関する一連のメモの続き。



このクラスのツールは、プログラムのテキストを調べて、脆弱性、エラー、不正確さ、非効率的なアクションなどの既知のパターンを特定します。 これらのテンプレートはどこから来たのか、 前回書い 。 プログラミング言語ごとに、構文の理解可能な違いのためにこれらのテンプレートは異なりますが、重複コードブロックの使用を避けるなど、品質の高いコードには一般的な規則もあります。



ただし、これらのテンプレートとルールは、書かれたプログラムの特定の品質を評価するのに必ずしも十分ではありません。 いずれの場合も、独自の定義パラメーターが必要になる場合があります。 たとえば、誰かが書いた銀行プログラムに隠れたペニー取引がないことを確認することが重要です。 または、無効な外部ライブラリが使用されていないことを確認してください。 この場合、アナライザーに標準テンプレートだけでなく、追加のルールもチェックさせる必要があります。









この記事では、Kiuwanのソースコードを分析するための独自の「カスタム」ルールを作成する方法を説明します。



ステップ1. Kiuwanルール開発者

Kiuwanは、Kiuwan Rule Developerと呼ばれるカスタムルールを作成するためのツールを提供しています。 インストールプロセスは興味深いものではないため、スキップします。 そして、ユーティリティの外観は次のようになります。







より詳細にインターフェースを検討してください。 3つの主要な領域で構成されています。

1.ルールがテストされるソースコードを含むウィンドウ

2. AST(抽象構文ツリー)-解析されたソースコードを記述するツリー

3.実行パネル-ルールを作成、開き、編集し、XPath式とGroovyスクリプトを記述し、ルール実行の結果を見ることができるパネル







すべてのルールは、Javaプログラミング言語を使用して記述されます。 したがって、開発環境(この場合はEclipse)のユーティリティを使用して友達を作る必要があります。 このプロセスは簡単です。ユーティリティでEclipseに新しく作成したルールプロジェクトのディレクトリを登録するだけです。



ステップ2.新しいルールを作成する

そして今、最も興味深い部分-ルールの作成から始めましょう。 これを行うには、「ルール」タブの「新規」ボタンをクリックします。 新しいウィンドウが開き、作成したルールのすべての詳細を登録する必要があります。 必須フィールドにはアスタリスクが付いています。







最も単純な例では、ルールはコード内でSystem.out.printおよびSystem.out.printlnメソッドの使用を探します。 なぜ?! ロギング用に標準化されたライブラリー(log4jなど)を使用する方が正しいためです。



「定義」タブのすべてのフィールドに入力したら、「コード例」タブに移動します。 ここでは、「間違った」コードと修正されたコードの例を示します。 実際、将来的には、「間違った」コードがルールのテストに役立つ可能性があります。







保存すると、2つのファイルが作成されます。

•ルールソースコードテンプレート

•XMLルール記述ファイル



ステップ3. EclipseでJavaルールコードをコンパイルする

Eclipseに移りましょう。 プロジェクトファイルを更新し、追加されたファイルCheckSystemOut.javaおよびCOM.MYCOMPANY.JAVA.CHECKSYSTEMOUT.rule.xmlを確認します。

最初のファイルを開くと、ユーティリティによって作成された基本的なコードテンプレートが表示されます。







簡単な例では、いくつかの簡単なコードを追加します。 ルールを記述するための詳細は、Kiuwan Webサイトの記事にあります。







ルールをコンパイルし(Eclipseで保存するときに自動コンパイルを選択しました)、すべてがほぼ準備完了です。



ステップ4.ルールをテストします。

Kiuwan Rule Developerユーティリティに戻ります。 その中で、書いたものをテストできます。 これを行うには、いくつかの簡単な手順を実行する必要があります。

1.ルールをテストするソースコードを貼り付けます(ルールの説明から取得します)

2.「ASTを生成」ボタンをクリックします。 この場合、ソースコードが解析され、ASTコードの構造(Abstract Syntax Tree)が作成されます。

3.「実行」ボタンを押して、ルールの実行結果を確認します。







すべて、ルールの準備ができました! システムのWebポータルにルールをインストールおよび構成し、エクスポートされたjarファイルをローカルアナライザーフォルダーにロードします。 これはあまり面白くないので、これらの詳細については説明しません。



ステップ5.分析の結果を見る

さて、今ではそれがすべてどのように機能するかを見る価値があります。 Kiuwan Local Analyzerを起動し、分析するプロジェクトのコードに「設定」し、「分析」ボタンを押して、しばらく待ってから結果を確認します。







[欠陥]タブに移動すると、ルールの結果を確認できます。







品質モデルを拡張するこの方法は、Kiuwanがサポートするプログラミング言語(現在20以上)に共通していることに注意してください。



All Articles