Zum Inhalt springen
uencoder

Dynamic Analysis

Die dynamische Analyse überwacht das Laufzeitverhalten eines Programms und erkennt Laufzeitprobleme wie Speicherlecks, Datenrennen und Performance-Engpässe.

Zweck

Laufzeitdefekte aufdecken, die der statischen Analyse schwerfallen, etwa Speicherlecks und Datenrennen.

Mechanismus

Das Programm läuft instrumentiert oder in einer Sandbox, wobei Speicher-Allokation und -Freigabe, Thread-Verzahnung und Funktionszeiten überwacht werden. Valgrind findet Speicherfehler, AddressSanitizer Out-of-Bounds/UAF, ThreadSanitizer Datenrennen.

Anwendungsfälle

  • Speicherleck-Erkennung
  • Rennerkennung
  • Profiling

References