La détection des erreurs d'exécution est une méthode de vérification logicielle qui analyse une application logicielle pendant son exécution et signale les défauts détectés pendant cette exécution. Elle peut être appliquée lors de tests unitaires , de tests de composants , de tests d'intégration , de tests système (automatisés/scriptés ou manuels) ou de tests de pénétration .
La détection des erreurs d'exécution permet d'identifier les défauts qui se manifestent uniquement au moment de l'exécution (par exemple, les écrasements de fichiers) et de se concentrer sur les causes profondes du blocage, de l'exécution lente ou du comportement imprévisible de l'application. Les défauts généralement détectés par la détection des erreurs d'exécution sont les suivants :
- Conditions de course
- Exceptions
- Fuites de ressources
- Fuites de mémoire
- Vulnérabilités liées aux attaques de sécurité (par exemple, injection SQL )
- Pointeurs nuls
- Mémoire non initialisée
- Dépassements de tampon
Les outils de détection d’erreurs d’exécution ne peuvent détecter les erreurs que dans le flux de contrôle exécuté de l’application.