Aller au contenu
uencoder

Dynamic Analysis

L'analyse dynamique surveille le comportement d'un programme à l'exécution, détectant les problèmes d'exécution tels que fuites mémoire, courses et goulots d'étranglement de performance.

Objectif

Découvrir les défauts d'exécution que l'analyse statique peine à détecter, comme les fuites mémoire et les courses de données.

Mécanisme

Le programme s'exécute instrumenté ou en bac à sable, en surveillant allocations et libérations mémoire, entrelacements de threads et durées de fonctions. Valgrind détecte les erreurs mémoire, AddressSanitizer les accès hors bornes/UAF, ThreadSanitizer les courses.

Cas d’usage

  • Détection de fuites mémoire
  • Détection de courses
  • Profilage

References