コンテンツへスキップ
uencoder

Dynamic Analysis

動的解析はプログラムの実行時挙動を監視し、メモリリーク、競合、パフォーマンスボトルネックなどの実行時問題を検出する。

目的

メモリリーやデータ競合など、静的解析では検出困難な実行時欠陥を発見する。

メカニズム

プログラムを計装またはサンドボックス化して実行し、メモリの確保/解放、スレッドの交錯、関数の所要時間を監視する。Valgrind はメモリエラーを、AddressSanitizer は境界外アクセス/UAF を、ThreadSanitizer は競合を検出する。

ユースケース

  • メモリリーク検出
  • レース条件の検出
  • プロファイリング

References