問題の検出から解決の確認まで

確認し、優先順位を付け、影響を把握し、修正して、問題が本当に解消されたことを検証します。

欠陥の検出は始まりにすぎません。Visual Expert は、コード検証の検出結果を体系的な修正ワークフローにつなげます。対応が必要なものを判断し、修正の影響を把握し、コードを直接修正するか作業を分担して、後続の解析で解決を確認します。

1検証問題の検出2確認と優先順位付け対応が必要なものを判断3影響の把握依存関係 · 参照4修正 / 割り当て直接修正 / タスク作成5再検証解決を確認問題の検出から解決の確認まで

解析で検出された内容を確認

すべての検出結果に同じ対応が必要なわけではありません。Visual Expert では、レビュー担当者が新規の検出結果や重大・重要な検出結果に集中し、欠陥ごとに明確な判断を記録できます。

検出結果 新規 · Critical 脆弱性 · バグ 確認と 優先順位付け 修正 リスク受容 誤検知 / 保留 追跡可能な判断追跡可能な判断追跡可能な判断
検出結果は一度確認すれば追跡可能な判断となり、欠陥のライフサイクルを通じて保持されます。

優先順位付け

対応が必要な欠陥に集中し、必要に応じて優先度を調整します。

誤検知

実際の欠陥として扱うべきでない検出結果を記録します。

リスク受容

確認したうえで意図的に受け入れた問題を記録します。

保留

修正を先送りしつつ、欠陥を可視の状態に保ちます。

修正する前に影響を把握

修正の影響は、欠陥が検出された行だけにとどまらない場合があります。開発者は、欠陥を起点に Visual Expert のアプリケーションのコンテキストとインパクト アナリシスを使い、変更する前に、影響を受けるコンポーネントにどのオブジェクトが依存しているかを把握できます。

「これを変更したら、ほかに何が影響を受けるか?」

  • 呼び出し元と呼び出し先のオブジェクト
  • アプリケーション コンポーネント間の依存関係
  • テーブルとカラムの使用状況
  • アプリケーションとデータベースのコードにまたがる参照
  • 関連するソースコード
1欠陥から

欠陥を開き、Find All References をクリックします。

2インパクト アナリシス
VISUAL EXPERT
Impact Analysis (Tree)
  • product›id変更するコンポーネント
    • demopfc.pbl
      • d_tab_sales_order_items
      • d_tab_sales_order
      • d_tab_product
      • dddw_product
      • w_sheet_sales_order
        • dw_detail
          • itemchanged
            • Select
Source code
w_sheet_sales_order›dw_detail›itemchanged
21 SELECT product.name,
22 product.description,
23 product.prod_size,
24 product.color,
25 product.unit_price
26 INTO :s_name,
27 :s_desc,
28 :s_size,
29 :s_color,
30 :dc_price
31 FROM Product product
32 WHERE product.id = :l_id ;

変更しようとしているコンポーネントを使用するオブジェクトを、それを参照する SQL 文までたどります。

実際のインパクト アナリシスを簡略化して表示しています(PowerBuilder のサンプル アプリケーション)。

自分で修正するか、作業を割り当てる

修正対象として欠陥を選択したら、開発者が個人で直接修正できます。タスクは必要ありません。

修正作業をチーム内で分担する必要がある場合は、欠陥を他のユーザーに割り当てられます。Visual Expert は、担当者、報告者、優先度、期限、ステータスを持つタスクを作成し、欠陥と関連付けます。

欠陥は対処が必要な事項を追跡し、タスクはチームでの作業分担を支援します。

コンテキストを踏まえて修正

開発者が欠陥から直接作業する場合も、割り当てられたタスクから作業する場合も、修正作業は元の検出結果とアプリケーションのコンテキストに結び付いたままです。

  • ルール違反のすべての該当箇所
  • 影響を受けるソースコード
  • ルールの詳細と想定される影響
  • 推奨される是正措置
  • アクティビティと判断の履歴
  • アプリケーションのコンテキストへのリンク

オプションの AI 支援

Visual Expert AI が有効な場合、[Potential Solution](潜在的な解決策)で修正案を提示できます。判断するのは開発者です。Visual Expert は解決策を提案しますが、ソースコードを自動的に変更することはありません。

Visual Expert Web · Defect details
Visual Expert Web の欠陥の詳細:Mark As Fixed、Accepted Risks、False Positive、Potential Solution (AI)、Find All References の各アクション、強調表示されたソースコード、該当箇所、ルールの詳細、最近のアクティビティ

問題を閉じるだけでなく、修正を検証する。

コードを修正したら、開発者は [Mark As Fixed] を選択します。欠陥は [Pending Validation] に移行します。修正が報告された状態ですが、Visual Expert による確認はまだ行われていません。

次回の解析で、Visual Expert はコードを再度チェックします。欠陥が検出されなくなれば、自動的に [Resolved] になります。引き続き検出される場合は、修正作業が続きます。

「Fixed」は開発者による申告であり、「Resolved」は次回の解析によって確認された状態です。

コードの修正 Mark As Fixed Pending Validation 報告済み、未確認 次回の解析 コードを再チェック 欠陥が検出されない Resolved 欠陥が再び検出 継続

マネージャーへの情報共有

マネージャーが欠陥を 1 件ずつ確認しなくても、修正作業の状況を把握できる必要があります。Visual Expert のダッシュボードは、アプリケーション全体の修正作業と進捗をまとめて表示します。

  • 新規、アクティブ、解決済みの欠陥
  • Critical と Major の検出結果
  • 連続する解析での修正の推移
  • 割り当て済み・未割り当ての作業
  • 期限切れのタスクと近づいている期限
  • チーム メンバーごとの作業量と進捗

Visual Expert Web のダッシュボードを簡略化して表示しています。

Visual Expert を開かなくても状況を把握

マネージャーは、最近のアクティビティをまとめた定期的なメール通知を受け取ることもできます。たとえば週次の通知では、新しい欠陥、Critical や Major の問題、期間中に解決された欠陥、期限切れの修正作業、全体の状況における重要な変化を示すことができます。

メールにはダッシュボードの概要を簡潔に含めることができるため、マネージャーは進捗を一目で把握し、詳細が必要な場合にだけ Visual Expert を開けば済みます。

週次サマリーVisual Expert · 修正作業の状況
新しい欠陥
Critical と Major
今週解決
期限切れの作業
Visual Expert で表示

週次のメール サマリーのイメージ。

コード検証を継続的な改善へ

  1. 1検証
  2. 2確認
  3. 3影響の把握
  4. 4修正
  5. 5再検証

Visual Expert は、検出、アプリケーションの理解、修正を 1 つの継続的なプロセスにつなげます。判断内容を記録し、必要に応じて作業を分担し、次回の解析で、修正によって検出された欠陥が実際に解消されたことを確認できます。

関連情報

コード検証

脆弱性、バグ、品質やパフォーマンスの問題、デッドコードを検出します。

チーム ワークフロー

解析結果を共有し、チーム全体で修正作業を調整します。

DevOps 統合

検証を自動実行し、その結果をお使いのツールに出力します。

欠陥とタスクの管理のドキュメント

ステータス、レビューでの判断、タスク、ダッシュボードの詳細。

問題を見つける。影響を把握する。修正する。結果を確認する。

Visual Expert は、PowerBuilder、Oracle PL/SQL、SQL Server T-SQL のアプリケーションを体系的に改善できるよう支援します。

インパクト アナリシス
カラムのインパクト アナリシス
カラムを参照するオブジェクトと、関連するソースコード。
欠陥の詳細
Defect details
アクション、強調表示されたソースコード、該当箇所、ルールの詳細、最近のアクティビティ。
欠陥とタスクのダッシュボード · 矢印または ← → キーで切り替え
Defect Dashboard
1 / 2欠陥ダッシュボード:アクティブ、Critical と Major、新規、解決済みの欠陥と、解析ごとの推移。
タスク ダッシュボード
2 / 2タスク ダッシュボード:未完了、期限切れ、進行中のタスク、優先度別のステータス、期限、担当者ごとの作業量。