Sortie de cppcheck 2.7, un analyseur de code statique pour les langages C++ et C

Une nouvelle version de l'analyseur de code statique cppcheck 2.7 a été publiée, qui vous permet d'identifier diverses classes d'erreurs dans le code dans les langages C et C++, y compris lors de l'utilisation d'une syntaxe non standard, typique des systèmes embarqués. Une collection de plugins est fournie grâce à laquelle cppcheck est intégré à divers systèmes de développement, d'intégration continue et de test, et fournit également des fonctionnalités telles que la vérification de la conformité du code avec le style de code. Pour analyser le code, vous pouvez utiliser soit votre propre analyseur, soit un analyseur externe de Clang. Il inclut également le script donate-cpu.py pour fournir des ressources locales permettant d'effectuer un travail collaboratif de révision du code pour les paquets Debian. Le code source du projet est distribué sous licence GPLv3.

Le développement de cppcheck se concentre sur l'identification des problèmes associés à un comportement indéfini et à l'utilisation de conceptions dangereuses du point de vue de la sécurité. L’objectif est également de minimiser les faux positifs. Parmi les problèmes identifiés : pointeurs vers des objets inexistants, divisions par zéro, dépassements d'entiers, opérations de décalage de bits incorrectes, conversions incorrectes, problèmes de travail avec la mémoire, utilisation incorrecte de STL, déréférencement de pointeurs nuls, utilisation de contrôles après l'accès effectif au buffer, dépassements de buffer, utilisation de variables non initialisées.

En parallèle, la société suédoise Cppcheck Solutions AB développe une version étendue de Cppcheck Premium, qui permet d'analyser la présence de boucles infinies, une recherche améliorée de variables non initialisées et une analyse avancée de débordement de tampon.

Dans la nouvelle version:

  • Ajout de la prise en charge des vues de conteneurs - l'attribut view a été ajouté à la balise de bibliothèque, indiquant que la classe est une vue. Le code d'analyse de la durée de vie a été mis à jour pour utiliser cet attribut lors de la recherche de conteneurs suspendus ;
  • Contrôles améliorés ;
  • Les erreurs accumulées ont été corrigées et les défauts de l'analyseur ont été éliminés.

Source: opennet.ru

Ajouter un commentaire