Obtenez une prise en charge complète de MISRA C 2023 dans la nouvelle version de test Parasoft C/C++. Rejoignez notre webinaire le 8 juin.
Le test Parasoft C/C++ détecte les défauts d'exécution, les problèmes de stabilité et les vulnérabilités de sécurité, tels que les fuites de mémoire, les pointeurs nuls, la mémoire non initialisée et les débordements de tampon, en surveillant le temps d'exécution lors de l'exécution d'une application basée sur l'hôte ou intégrée, ou d'une unité d'exécution tests écrits en C. Le composant d'exécution est extrêmement léger, ne nécessitant que de petites quantités de code supplémentaire et d'espace de données. Ceci est idéal pour les cas d'utilisation dans l'industrie automobile pour répondre aux exigences de cybersécurité ISO 21434 qui exposent les angles morts dans les logiciels de véhicules routiers.
Le test Parasoft C / C ++ instrumente automatiquement la base de code d'une application pour activer la surveillance lorsque l'application est en cours d'exécution, identifiant les défauts graves, les problèmes de stabilité et les vulnérabilités de sécurité, tels que:
L'analyse d'exécution du test Parasoft C / C ++ fournit des configurations de test prédéfinies pour prendre en charge les applications natives et intégrées avec des allocations de mémoire de type C (malloc / free). L'analyse d'exécution peut être effectuée pendant les tests unitaires, pour valider des scénarios et des chemins d'exécution spécifiques, et des tests fonctionnels, pour surveiller l'application entièrement intégrée.
Les défauts qui ont été trouvés lors des tests d'exécution peuvent être présentés directement dans l'IDE du développeur et corrélés avec d'autres résultats de test et des mesures de qualité, telles que la couverture du code ou résultats d'analyse statique de Parasoft C/C++test, afin que l'utilisateur puisse obtenir une image complète de l'application testée, ce qui facilite la compréhension de la cause première des défauts d'exécution.
Le test Parasoft C / C ++ surveille une application en cours d'exécution, détectant les problèmes liés à l'exécution (c'est-à-dire les fuites de mémoire, la corruption de la mémoire, la lecture de la mémoire non initialisée, les débordements de tampon) qui pourraient entraîner des problèmes de stabilité, des dysfonctionnements fonctionnels ou des vulnérabilités de sécurité. Contrairement à l'analyse statique, où les avertissements peuvent ne pas nécessairement entraîner des bogues dans le code en cours d'exécution (c'est-à-dire des faux positifs), les bogues détectés par l'analyse dynamique sont toujours de vrais positifs.
Le test Parasoft C / C ++ surveille les binaires de test lors de l'exécution des tests unitaires, fournissant un aperçu du code testé pour aider les utilisateurs à comprendre les échecs ou les instabilités des tests unitaires. L'analyse d'exécution peut détecter des erreurs qui ne sont pas facilement déterminées à partir des résultats des tests unitaires. Par exemple, les fuites de mémoire peuvent être ignorées lors des tests unitaires car les problèmes de mémoire ne sont pas vérifiés ou l'impact sur la mémoire n'est pas significatif. En détectant les défauts d'exécution pour les chemins d'exécution appliqués par les cas de test unitaires, le test C / C ++ peut exercer des chemins difficiles à atteindre lors de l'exécution de l'application d'origine.
L'analyse d'exécution peut être effectuée non seulement pour les applications natives, mais également pour les environnements multiplateformes / intégrés, de sorte que l'analyse est effectuée dans l'environnement de production d'origine. Les bogues peuvent ne pas se manifester avec le développement basé sur l'hôte et le code cible peut avoir une architecture de processeur, un système d'exploitation et des contraintes de périphérique différents, donc sans cela, les utilisateurs devraient effectuer un débogage compliqué sur la cible (en supposant que les défauts pourraient être détectés en ayant certains effets secondaires visibles lors des tests fonctionnels réguliers).
Les défauts d'exécution sont présentés dans l'EDI de manière unifiée avec d'autres données de test, telles que la couverture de code, les échecs de test unitaire ou les résultats d'analyse statique, il est donc plus facile d'analyser et de comprendre la cause première des défauts d'exécution.
Les défauts d'exécution dans les environnements embarqués sont souvent difficiles à reproduire sur une plate-forme hôte (et souvent également sur les plates-formes cibles). En surveillant l'exécution d'exécution d'une application embarquée, dans l'environnement d'exécution embarqué d'origine, Parasoft vous aide à découvrir les défauts réels de votre logiciel.
En corrélant les défauts d'exécution avec les résultats de l'analyse statique, Parasoft donne aux utilisateurs une visibilité pour comprendre et identifier la cause première des défauts. Cela aide les équipes à appliquer des pratiques préventives sur l'ensemble de la base de code pour découvrir des défauts cachés supplémentaires et réduire l'apparition de défauts à l'avenir.
Les tests unitaires sont une pratique de test critique pour garantir que votre code fonctionne comme prévu dans des conditions difficiles ou impossibles à reproduire lorsque l'application est entièrement assemblée. Le test Parasoft C / C ++ vous permet de tirer parti de l'analyse d'exécution pendant l'exécution des tests unitaires, pour découvrir les problèmes d'exécution qui sont enfouis dans l'application que vous ne pouvez pas facilement reproduire dans votre environnement de pré-production.