Visual Studio Code で Java ソースコードを解析する

Java 開発現場では、軽量さや Java 開発関連の拡張機能の充実によるカスタマイズ性の良さから開発環境として Visual Studio Code (以降、「VS Code」と記載)が選ばれることが多くなってきました。
そんな VS Code で Parasoft Jtest の静的解析ができることをご存じでしょうか。本記事では、VS Code 環境での Parasoft Jtest の解析をご紹介します。

VS Code と Jtest の連携で実現できること

前提として、VS Code で Jtest を利用するには、Jtest Engine エディションのライセンスが必要です。

解析の実行

  • プロジェクト全体、選択したファイルまたはアクティブなファイルに対して静的コード解析を実行できます。
    • Jtest の静的コード解析の詳細な機能についてはこちらをご参照ください。
  • [問題] ビューで検出した違反の一覧、コード エディターではソースコードベースで解析結果を確認できます。

違反の抑制

  • 修正不要な違反情報を次回以降の解析では検出しないように抑制できます。

外部で解析した結果のインポート

  • DTP から結果をインポートすること、CI 環境など外部で実行された Jtest の静的解析、カバレッジ計測結果レポートをインポートして結果を確認することができます。
Parasoft Jtest は Javaコードに潜むさまざまなセキュリティ脆弱性を早期発見
ソースコードの品質向上を実現します。

>> Parasoft Jtest の詳細はこちら <<

Jtest の解析を実行する

VS Code で Jtest の解析を行うには、VS Code 拡張機能をインストール、設定する必要があります。本記事では詳細な手順は省きますが、こちらからご確認いただけます。

解析を行うには、VS Code の Explorer で解析を行うディレクトリ、またはファイルを右クリック  > [Jtest:Analyze Selected File(s)] を押下します。 

アクティブウィンドウで開いているソースコードを右クリック > [Jtest:Analyze Active File] を押下して解析することもできます。

Jtest の解析結果を確認する

Jtest の解析が完了すると [問題] ビューに検出した違反の情報が表示されます。 [問題] ビューは、テーブルとツリーの2パターンで表示を切り替えることができます。

テーブル

検出した違反のルールID、違反メッセージ、ファイルパスなどの違反情報を一覧で確認することができます。

ツリー

検出した違反の行番号やフロー解析ルールで検出した違反のフローパスを確認することができます。
 
[問題] ビューからは、検出した違反に対して以下のアクションを行うことができます。

抑制

違反情報を抑制して次回以降の解析では検出されないようにします。 抑制情報は、違反を抑制するソースファイルと同じディレクトリに作成されるファイルで管理するか、ソースコードのコメントとして残すことができます。

削除

問題ビューから違反情報を削除します。

ルールドキュメントの表示

違反のルールドキュメントを表示します。

結果を外部からインポートする

ビルドツールなど VS Code 外で解析した結果や、Parasoft DTP にアップロード済みの解析結果を VS Code にインポートして結果を確認することができます。
解析結果レポート (report.xml) をインポートする
VS Code のコマンドパレットで "Jtest: Load Results From File..." を選択後、インポートする report.xml ファイルを選択します。
DTP から解析結果をインポートする
VS Code のコマンドパレットで "Jtest: Load Results from DTP..." を選択後、メニューに従って以下の情報を入力します。
  • DTP のアドレス
  • ログインユーザー
  • パスワード
  • フィルター

まとめ

VS Code を利用した Jtest の静的解析についてご紹介しました。

拡張機能のインストールと簡単な設定で Jtest の静的解析が実行できることをご確認いただけたのではないでしょうか。

ぜひ、この機会に VS Code 環境での Jtest の解析をお試しください。

Parasoft Jtestについて

Jtestは、テスト工数の大幅削減とセキュアで高品質なJavaシステムの開発を強力にサポートするJava対応テストツールです。2,000個以上のコーディング規約をもとにソースコードを静的に解析し、プログラムの問題点や処理フローに潜む検出困難なエラーを検出します。さらに、JUnitを用いた単体テストについて、作成、実行、テストカバレッジ分析、テスト資産の管理といった単体テストに係る作業をサポートし、単体テストの効率化を促進します。

Top