Détection d'erreurs d'exécution C/C++
Objectifs
- Débordement arithmétique
- Division par zéro
- Lecture d'un emplacement mémoire avant écriture
- Indexation de tableaux hors limites
- Déréférencement de pointeur illicite
- Pointeur non initialisé
- Non terminaison d'un appel de fonction
- Non terminaison de boucle
- Cohérence des opérations de décalage binaire
- Cohérence des interfaces de pointeurs de fonctions
- Code non atteignable
- Procédures non appellées
- Accès concurents illicites à des variables partagées
- Assertion utilisateur
- Appel de fonction virtuelle pure (C++)
- Utilisation incorrecte d'informations de types dynamiques (C++)
Bénéfices
- Couverture exhaustive du code
- Fiabilité opérationnelle des logiciels
- Détection de bugs au plus tôt
- Diminue les itérations de tests
- Mesure de la robustesse du code
- Optimisation de la validation & vérification
- Tests untaires et relecture critique de code focalisés aspects métier
- Intégration dans la démonstration de sécurité
- Appropriation de logiciels existants