静的フロー解析

dotTESTの静的フロー解析機能は、シンボリックシミュレーションなどの技術を用いてコードを綿密に解析し、 NullReferenceException やリソース リーク、 null チェックの前の間接参照といった重大な問題の引き金となるコードを検出します。処理フローが複数のファイルに渡った複雑なパスも検証可能なので、ファイル単位で実施する静的解析や単体テストでは発見することが難しい例外的な問題も正確に検出します。アプリケーションを実行しなければ検出することが難しい問題を静的に検証できるため、人手によるテストに比べて、網羅率の高い検証が可能となります。さらに、問題を引き起こすコードと処理フローがレポートされるので、テスト / デバッグ時間を大幅に短縮することが可能になります。
dotTEST の『静的フロー解析』で検出可能なエラーのカテゴリは以下の 6 つです。

  • コレクション
  • 例外
    • NullReferenceException
  • リソースリーク
    • リソースリーク
  • バグの可能性
    • ゼロ除算
    • null チェックの前の間接参照
  • セキュリティ
    • SQLインジェクション
    • クロスサイトスクリプティング(XSS)
  • スレッドと同期
  • 境界外アクセス デッドロック

複数のクラスに渡った複雑なパスも検証可能

クラスやメソッドをまたがった問題は実行しなければ発見するのが難しく、また、網羅率の高い検証を実施するのは非常に大変な作業です。しかし、『静的フロー解析』は、アプリケーションを実行することなく、 NullReferenceException やリソースリークのような実行しなければ発見するのが難しい問題も、静的に検証/発見します。また、静的な検証なので人手によるオペレーションが必要ないため、『静的フロー解析』による検証をバッチで実施することが可能です。これにより、テストにかかる人的コストの大幅削減と網羅率の高い検証が実現できます。

問題を引き起こすコードと処理フローをレポート

『静的フロー解析』の検証により、問題の可能性が発見された場合は、問題が発生した箇所とそれに至るまでの処理フローがレポートされます。処理フローから問題の原因となるコードや渡された値を確認することができます。

インジェクションやクロスサイトスクリプティング(XSS)などの脆弱性を検出

Webアプリケーションに対するSQLインジェクションやクロスサイトスクリプティング(XSS)などの攻撃に対して脆弱なコードを静的に検出します。静的フロー解析のセキュリティルールには、OWASP (Open Web Application Security Project)に掲載されているWebアプリケーションの脆弱性 トップ10 (http://www.owasp.org/index.php/Top_10_2007)に掲載されている脆弱性について、処理フローを検証し、これらのセキュリティ上危険なコード箇所を指摘します。ソースコードの脆弱性をコーディング時に指摘されることによって、高セキュリティなアプリケーションの開発が可能になります。

静的解析だから、網羅率が高く、確実な検証が可能

『静的フロー解析』は、静的に検証するので、テスト対象アプリケーションを実行する必要はありません。ボタンをクリックするだけで処理フローの自動検証を開始します。『静的フロー解析』は、ソースコード上に存在するさまざまな分岐の可能性を検査するので、通常のテストでカバーされない珍しい状況を処理するときに発生する問題を特定できるため、高い網羅率の検証が行なえます。また、バッチでも実施できるので、夜間や休日など開発作業にマシンを使用していない時間を利用して検証を自動実行させることも可能です。

テストケースやテストスタブは不要。テスト資産のないソースコードでも検証可能

テストケースを作成し、テストを実行しなければ検出できなかったリソースリークや、ゼロ除算、 null チェックの前の間接参照といった問題を、『静的フロー解析』はテストを実行することなく検出します。過去に開発したアプリケーションを拡張する場合などは、テストケースやテストスタブを編集したり、新たに作成することなく、ボタンをクリックするだけで検証できます。

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

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

    システムエンジニアリング事業部
    ソフトウェアエンジニアリング営業部

    03-4405-7853

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

CONTACT

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