生成AIとの連携

生成AIとの連携で静的解析違反の修正と単体テスト改善を効率化​

JtestとOpenAI、およびAzure OpenAIを連携させることで、静的解析で検出された違反の修正やテストコードの改善を効率化することができます。静的解析の違反を生成AIによる解説や修正の提案に基づいて修正を進められます。また、生成AIを活用して、既存のJUnitテストコードのカバレッジ向上や例外のパターン追加、パラメータライゼーション化などの改善が行えます。


何にお困りですか? Jtest 生成AI連携機能
はてな 静的解析違反を効率的に修正したい 静的解析違反の推奨する修正案の生成
はてな JUnitテストコードを効率的に改善したい 単体テストケースの改善案を生成
はてな 検出した違反に自動で優先度づけしたい 修正する違反の優先度づけ
はてな 重大なセキュリティの問題を引き起こす違反を優先的に修正したい CVE Match

 

静的解析違反の推奨する修正案の生成

生成AIを利用した違反修正の効率化
Jtestの静的解析をOpenAIまたはAzure OpenAIと統合することで、生成AIによって生成された解説と修正の推奨事項がソースコードの正確な修正をサポートします。
静的解析により多くの違反が検出された場合、開発者は違反の調査やコード修正に多くの時間と労力を費やす必要がありますが、生成AIとの統合により、違反修正の効率化を実現します。これにより、新しいコードの開発や、ソフトウェアの全体的なコード品質、セキュリティ、安全性、信頼性の向上など重要な作業に集中することができます。

※Jtestの生成AIとの連携機能にはOpenAIおよびはAzure OpenAIの利用契約は含まれておりません。利用者は個別に契約する必要があります。

コードに合わせた違反の分析と修正案生成

検出した違反とソースコードを生成AIに送信することで、違反の解説とソースコードに合わせた修正案が自動生成されます。 開発者はJtestルールドキュメントだけでは網羅できない実際のコードに則った違反の解説を確認しながら修正を進めることができます。
生成AIによって生成される内容
  • 分析:違反が指摘されたコードを細分化して、違反の観点でコードを分析した情報
  • 診断:Jtestが検出した違反の内容を評価した結果をもとに、生成されたコードの改善に関する情報
  • 違反に対する修正案:解析したソースコードに合わせた違反の修正案

※生成AIによって生成されたコードは [コードのコピー] オプションを使用して提案されたコードをコピーして置き換えることができます。
※生成される内容は検出した違反やソースコードによって異なります。
※この機能は 生成AIを利用しているため、不正確な情報を生成する可能性があります。

生成AIを利用した違反修正の効率化

単体テストケースの改善案を生成

生成AIを利用した効率的なテストケースの改善と品質向上
Jtestの単体テストアシスタント機能は、OpenAIまたはAzure OpenAIと統合することで、既存のテストコードをパラメータライズテストへ変換、エラーケースや境界値のテストを追加するなど、テストケースの改善が可能です。標準で提供されている改善のタイプに加えて、開発者が入力したプロンプトに基づいてテストコードを改善することもできます。
これにより、開発者はアプリケーションに必要なテストの改善を効果的に行い、カバレッジの向上、さらには開発プロセスの品質と効率性の向上を実現します。

Jtestの生成AIとの連携機能にはOpenAIおよびはAzure OpenAIの利用契約は含まれておりません。利用者は個別に契約する必要があります。

テストメソッドのカスタマイズと改善を提案

生成済みのテストメソッドとテストの情報、改善の要件を生成AIに送信すると、テストをカスタマイズ、拡張、またはリファクタリングするための提案が生成されます。開発者はアプリケーションに必要なテストの改善を進めることができます。
利用可能な改善タイプ
  • パラメータライズドテストに変換:選択されたテストをパラメータライズドテスト形式のテストに変換します。
  • エッジケースおよびエラーケースの追加:境界値や例外パターンなどコードカバレッジを向上するケースを追加します。
  • カスタム:ユーザーが入力したプロンプトに基づいてテストを変更します。

※生成AIによって生成されたコードは [コードのコピー] オプションを使用して提案されたコードをコピーして置き換えることができます。
※生成される内容はソースコードによって異なります。
※この機能は生成AIを利用しているため、不正確な情報を生成する可能性があります。

生成AIを利用した効率的なテストケースの改善と品質向上

修正する違反の優先度づけ

機械学習機能で静的解析違反の修正を予測
Parasoft DTPの機械学習機能は、登録されたJtestの静的解析違反に対して修正の優先度が高い違反を予測することができます。この予測は、過去の修正履歴や抑制の登録情報に基づいて行われます。静的解析データに対して、Parasoft DTPが最初に修正が必要な違反を予測することで、人手による仕分け作業の負担を軽減し、違反の修正プロセスを迅速化します。
この機能は、Parasoft DTP上で「修正」または「抑制」と分類された違反を分析し、検出したパターンに基づいて予測モデルを作成します。モデルが作成されると、Parasoft DTPはビルド内の違反に対してどの修正アクションを割り当てるかを予測します。違反のレビューとアクションの割り当てを継続することで、予測モデルは徐々に改善されていきます。機械学習機能は、学習データを蓄積することで、プロジェクト固有の習慣を考慮した予測が可能になります。

機械学習機能による静的解析違反の修正予測

CVE Match

違反と既知のセキュリティ脆弱性の類似性を定量化
Parasoft DTPは、登録された静的解析の違反とソースコードを分析し、違反を含むメソッドのソースコードと既知のセキュリティ脆弱性のソースコードとの類似性を定量化します。開発チームは、どの違反を優先して確認するべきかを評価する際にCVE Matchを使用することで重要なセキュリティの問題が見逃されることがなくなります。
CVE Match 機能の算出にはJavaで最も一般的な18種のCWEを含む88種類の異なるCWEを使用しています。

CWE-20 CWE-22 CWE-74 CWE-79 CWE-89 CWE-94
CWE-190 CWE-200 CWE-287 CWE-352 CWE-400 CWE-444
CWE-502 CWE-611 CWE-770 CWE-862 CWE-863 CWE-918

※ParasoftDTPのOpenAI連携機能にはOpenAIの利用契約は含まれておりません。利用者は個別に契約する必要があります。
※この機能は OpenAI を利用しているため、不正確な情報を生成する可能性があります。

Jtestその他の機能

静的解析・フロー解析

コードレビューを自動化して致命的なバグを早期発見
約2,000種類のルールに従ってJavaソースコードを静的に解析し、違反している箇所をレポート、Javaソースコードの品質向上と問題修正の効率化を促進します。

単体テストアシスタント

JUnitテストコード作成支援機能で工数を33%削減
JUnitのテンプレートを自動生成し、機能実装・メンテナンスに工数がかかるJUnitコードの開発工数を大幅に削減できます。
テストコード作成の時間を削減することで、本来の開発作業に時間を使えるようになります。

アプリケーションカバレッジ計測

システムテストのカバレッジ計測でテストの抜け漏れを可視化
テストコードは不要で、手動またはテスト自動化ツールで実行されたUIテストのカバレッジを計測。テストの精度向上やエビデンス作成工数を削減します。

資料・製品ラインナップ・体験版

Java対応静的解析・単体テストツール Jtestに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
parasoft-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。