単体・結合テスト対応ファジングツール Mayhem for Code
ファズデータを活用した高精度なバグ・脆弱性検出とテストカバレッジの最大化
Mayhem for Codeは、自律的にソフトウェアのバグ・脆弱性を検出し、テスト作業を大幅に削減する単体・結合テスト対応ファジングツールです。開発者の労力やスキルに依存せず、バグや脆弱性の検出と高いカバレッジの実現します。
- ソフトウェア品質保証
- ソフトウェア品質向上
- テスト自動化
- セキュリティ
PICK UP
ファジング技術を活用した動的解析で、効率的に未知の不具合を発見 「Mayhem for Code」
Mayhem for Code(以下、Mayhem)は、自律的にソフトウェアのバグや脆弱性を検出し、テスト作業を大幅に削減する単体・結合テスト対応ファジングツールです。膨大な数のテストを自動的に実行するため、開発者の労力やスキルに依存せず、バグや脆弱性の検出と高いカバレッジの実現を効率的に行うことができます。ファジングとは、ターゲットに大量のデータを入力し、例外を監視することでソフトウェアの欠陥と脆弱性を発見する手法のことです。セキュリティに深刻な影響を与えることが多いメモリ破壊系のバグを見つけるのに効果的です。
Mayhemは、カーネギーメロン大学での研究から得た特許技術であるシンボリック実行エンジンとフィードバックループを組み合わせた独自のファジング技術を使用し、高精度なテストケースの生成とテストの実行を自動的に繰り返すことで、カバレッジを継続的に拡大しながら、プログラムの奥深くに潜むバグや脆弱性を発見します。

Mayhem 5つの特長
【1】テストデータの自動生成
シンボリック実行エンジンとフィードバックループを組み合わせた独自のファジング技術を使用し、高精度なテストケースの生成とテストの実行を自動的に繰り返すことで、カバレッジを継続的に拡大しながら、プログラムの奥深くに潜むバグや脆弱性を発見します。テスト作業の負荷を低減しつつ、バグの検出や高いカバレッジを実現することができます。
【2】偽陽性ゼロのバグ検出
膨大なテストケースを自動生成し、網羅的なテストによりバグ・脆弱性を検証します。実際にアプリケーションを実行してバグ・脆弱性の検証を実施するため、報告されるバグ・脆弱性について、開発者は疑陽性を考慮する必要がありません。
<検出できるバグを抜粋>
<検出できるバグを抜粋>
- バッファオーバーフロー
- 境界外アクセス
- ゼロ除算
- NULLポインター逆参照
- 未初期化変数の使用 など

【3】回帰テストの自動化
Mayhem は、欠陥が確実に修正された状態を保つために回帰テストを実施します。更新されたコードに対して作成済みのテストケースを実行することで、バグの再発やデグレードの発生を防ぎます。また、CI/CDパイプラインに統合することが可能なため、回帰テストの自動化も可能です。

【4】ソフトウェア開発ライフサイクル(SDLC)のシフトレフト
Mayhemの優れた点のひとつは、ソフトウェア開発ライフサイクル(SDLC)の初期段階で活用できることです。通常、ファジングは開発の終盤で行われるテストの一部として使用されますが、Mayhemは単体・結合テストフェーズで利用できるため、ファジングのシフトレフトを実現します。 さらに、CIパイプラインに統合することで、DevSecOpsワークフローの一部として運用することも可能です。
【5】Parasoft C/C++testとの連携
C言語/C++言語対応テストツール「Parasoft C/C++test」の単体テスト機能と連携することで高いシナジーを生み出すことができます。「Parasoft C/C++test」の単体テスト機能に、「Mayhem」のファジングの要素を取り入れることで、通常人手では考慮しきれない範囲を含む膨大なテストパターンを効率的にカバーできるようになります。 また、「Parasoft C/C++test」のカバレッジ計測機能を活用できるため、C0、C1、MC/DCなどの9種類のカバレッジを計測し、実行されたファジング・テストの網羅性を可視化することも可能になります。

イベント・セミナー
ニュース・キャンペーン
単体・結合テスト対応ファジングツール Mayhem for Codeに
関するお問い合わせ
テクマトリックス株式会社
東京本社ソフトウェアエンジニアリング事業部
03-4405-7853
- メールでのお問い合わせ
- se-info@techmatrix.co.jp




