エンベデッドシステムスペシャリスト暗記無料で始める

静的解析とは?せいてきかいせき

静的解析とは、プログラムを実行せずにソースコードや中間表現を調べ、未初期化変数の使用、配列の境界超過、到達不能コード、規約違反などを検出する手法。テストでは再現しにくい経路に潜む不具合を、コードを書いた直後の段階で見つけられる。

最終更新:2026-10-06

試験情報

エンベデッドシステムスペシャリスト試験の過去問では1問の解説で触れられています。

エンベデッドシステムスペシャリスト試験の頻出用語/午前II

別名:静的解析(ソースコード検査)、ソースコード検査、静的解析(静的テスト)

この語が出る過去問を解く →

背景

テストで欠陥を見つけるには、その欠陥を通る入力を用意しなければならない。ところが割込みのタイミングやエラー処理の経路は、実機で意図的に再現すること自体が難しい。実行を前提とせずコードの構造だけから性質を導けば、この再現の壁を越えられる。欠陥は見つかるのが早いほど手戻りが小さいという原則もあって、規約適合性の確認や複雑度の測定まで含め、ビルドの一部として回す形が定着した。

具体例

CoverityやSonarQube、Clang Static Analyzerなどが使われ、コンパイラの警告も広い意味ではこの仲間にあたる。組込みではMISRA-Cの適合性検査や関数のサイクロマティック複雑度の測定に用い、しきい値を超えたモジュールをレビュー対象に選ぶ運用を取る。

試験での引っ掛け

実際に動かして振る舞いを観測する動的解析(プロファイリング、アサーション、ファジングなど)と対になる手法なので、実行時にしか分からない性能や実資源の消費量は測れない。またすべての経路を安全側に見積もる性質上、誤検出(偽陽性)が避けられず、警告が消えたことは欠陥が無いことを意味しない。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 1問の解説で触れられる
  • 分野:午前II
  • 実際に動かして振る舞いを観測する動的解析(プロファイリング、アサーション、ファジングなど)と対になる手法なので、実行時にしか分からない性能や実資源の消費量は測れない。