静的解析

静的解析でバグを早期発見、保守性や再利用性の指標となるメトリクスを計測

静的解析で「致命的なバグ」を見逃さない:静的解析ツール「C/C++test」

C/C++testは、コーディング規約チェック機能、およびプログラムのあらゆるパスをシミュレートする「フロー解析」機能でバグを早期に発見します。複雑度が高くバグが入り込みやすいコードを検出できます。早期にリファクタリングすることで、バグを未然に防止とテストしやすいソースコードの実装が可能です。また、ソースコード品質の底上げに貢献する「コーディング規約チェック」機能を搭載しているため、バグの作りこみを抑制し、ソースコードの可読性と保守性を強化します。
  • フロー解析
  • コーディング規約チェック
    • ユーザー定義ルール作成
    • 重複コード検出
  • メトリクス計測
  • AI&機械学習

静的解析:C/C++test


フロー解析

プログラムのあらゆるパスをシミュレートし、バグを早期に発見

  • ソースコードを解析し、関数・ファイルにまたがるバグを自動的に検出
  • バグ発生までのデータフローを可視化  


フロー解析は、プログラムを静的に解析して、プログラム実行時に発生し得る問題を検出します。複雑なアプリケーションでも、複数のファイル、メソッドにまたがるパスを自動的にトレースし、NULLポインターの間接参照やバッファオーバーフローなどプログラムの動作に致命的な影響をもたらすバグを早期に発見します。また、Parasoft DTPと連携することにより、フロー解析におけるデータフローのシミュレート結果をより詳しく表示できます。
 

<フロー解析で検出可能な項目(抜粋)>
  • メモリリーク/リソースリーク
  • バッファオーバーフロー
  • NULLポインターの参照
  • 未初期化変数の参照
  • 整数オーバーフロー
  • ゼロ除算
  • 配列の境界外アクセス
  • イテレーター範囲外アクセス
  • セキュリティ脆弱性
  • デッドロック
  • 不適切な排他制御

静的解析ツールC/C++test:静的フロー解析イメージ図

静的フロー解析イメージ図

コーディング規約チェック

バグの作り込みを抑制、ソースコードの可読性と保守性を強化

  • MISRA、AUTOSARなどのコーディングガイドライン対応ルールを搭載
  • SEI CERT C/C++、CWE TOP 25などセキュリティルールを搭載

高い信頼性と安全性を実現するためのソフトウェア設計標準規格「MISRA」、「AUTOSAR」に対応、セキュリティ対策に有効な「CERT」、「 CWE TOP 25 」にも対応しています。
バグの作り込みを防止し、ソースコードの可読性と保守性、拡張性に優れた高品質で寿命の長いソースコードの実装を支援します。
<コーディングルール設定(抜粋)>
  • MISRA C:1998
  • MISRA C:2004
  • MISRA C++:2008
  • MISRA C:2023 (MISRA C:2012)
  • NISRA C++:2023
  • AUTOSAR C++14
  • HISソースコードメトリクスチェックルール
  • FDA C/C++ 推奨ルール
  • SEI CERT C
  • SEI CERT C++
  • CWE TOP 25
  • OWASP TOP10
  • DISA ASD STIG
  • PCIDSS
  • UL2900
  • IPA/SEC コーディング作法ガイド
などのセキュリティに関連する規約

MISRA・AUTOSARなどのコーディングガイドライン対応ルールを搭載

ユーザー定義ルール

  • 独自コーディングルールの作成、新規ルールセットの追加

ユーザー定義コーディングルールを作成する「RuleWizard」を搭載しています。社内やプロジェクトのコーディング規約に合わせて、独自のコーディングルールに修正したり、新規にルールセットを作成できます。

静的解析ツールC/C++test:ユーザー定義コーディングルール

ユーザー定義コーディングルール作成画面

メトリクス計測

ソフトウェアの品質を定量的に評価

  • コードの保守性や再利用性の指標となるメトリクスを計測
  • 複雑度が高くバグが入り込みやすいコードを検出

オブジェクト間の結合や継承の深さなど、コードの保守性や再利用性の指標となるメトリクスを計測し、一覧データとして確認が行えます。それぞれのメトリクスのしきい値を任意の値に変更できるため、プロジェクトの基準に違反しているコードを瞬時に特定できます。
<計測できるメトリクスの例>
  • オブジェクト間の結合
  • McCabe Cyclomatic Complexity
  • コメントの割合/行数
  • ファンアウト
  • Halstead complexity
  • クラスの継承の深さ
  • 凝集性の欠如
  • 保守性インデックス
  • ネストの深さ
  • コード行数
  • メソッドのパラメータ数
  • クラス数
  • ファイル数
  • 空白行数

静的解析ツールC/C++test:メトリクス計測

メトリクス計測

C++言語の最新規格もサポート

C++11、C++14はもちろん、C++17、C++20の新たな記法を認識し、エラーなく静的解析、単体テストを行うことができます。
ここ数年で急速に進化が進んでいるC++言語の最新の規格をサポートします。大規模化、複雑化が進む車載ソフトウェアを始めとして、組み込みソフトウェアでも採用が進むC++言語での開発を支援します。

TÜV SÜD社よりIEC 61508およびISO 26262、IEC 62304ツール認証取得済み

C/C++testは、第三者認証機関であるTÜV SÜD社よりIEC 61508およびISO 26262、IEC 62304に準拠したテストツールとして認証を取得済みです。TÜV SÜD社より認証を取得しているため、ユーザーによるツール認証のための検証依頼をする必要がなく、ツール認証の時間や費用を削減できます。

※認証取得を目的としてご利用になる場合は、お問い合わせください。

C/C++testは、TÜV SÜD社よりIEC 61508およびISO 26262、IEC 62304ツール認証取得済み

導入後も安心してお使いいただけるサポート体制

C/C++testは、導入時のサポートから、運用支援、問題発生時のQ&A対応など導入後も安心してお使いいただけるサポート体制でお客様をバックアップいたします。

静的解析とは

静的解析とは、ソフトウェアの解析手法の一種で、コードを実行せずに行なう検証のことです。静的解析の利点として、コーディング時という開発の早い段階でエラーを検出できるため、バグ修正コストを抑制できます。また、プロジェクトの共通のコーディングスタイルを推進できるため、コードの可読性や保守性が向上するなどの利点があります。
ソースコードに対する静的解析は、ソフトウェアの品質を確保する上で、もっとも効果を得やすく、自動化しやすい工程です。機能安全やセキュリティなどに対するコンプライアンスでも、ツールによる静的解析が重要な役割を担っています。

C/C++testの静的解析をお試しください。

静的解析ツール・単体テストツールC/C++testを体験版をお試しください。
すべての機能を無償で14日間ご利用可能、すぐにご評価可能なチュートリアル付属
ご評価を円滑に進めるための、技術的なサポート対応あります

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

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

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

    03-4405-7853

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

お問い合わせ

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