La nouvelle version de cppcheck 2.6 est déjà sortie et voici ses nouveautés

La libération de la version de l'analyseur de code statique cppcheck 2.6, qui permet de détecter divers types d'erreurs dans le code C et C++même en utilisant une syntaxe non standard typique des systèmes embarqués.

Une collection de plugins est fournie à travers laquelle l'intégration de cppcheck avec divers systèmes de développement, d'intégration continue et de test est fournie, ainsi que des fonctionnalités telles que la vérification de la conformité du code avec le style de codage.

Pour analyser le code, vous pouvez utiliser à la fois votre propre analyseur et un analyseur Clang externe. Il inclut également un script donate-cpu.py pour fournir des ressources locales pour le travail collaboratif de révision de code pour les paquets Debian.

Le développement de cppcheck se concentre sur l'identification des problèmes associés à un comportement non défini et l'utilisation de constructions dangereuses du point de vue de la sécurité.

Le but est aussi de minimiser les faux positifs. Parmi les problèmes identifiés : pointeurs vers des objets inexistants, division par zéro, débordements d'entiers, opérations de décalage de bits incorrectes, conversions incorrectes, problèmes de mémoire, mauvaise utilisation de STL, déréférencement de pointeurs nuls, application de contrôles après un accès réel à un buffer, dépassement des limites du tampon, en utilisant des variables non initialisées.

Principales nouveautés de cppcheck 2.6

Dans cette nouvelle version sNous avons ajouté diverses vérifications au noyau de l'analyseur, parmi lesquels la vérification de l'absence d'une déclaration de retour dans le corps de la fonction, ainsi que celle des enregistrements de données qui se chevauchent, des définitions de comportement indéfinies et également la vérification de la valeur comparée est hors de la plage de la représentation de la valeur du type.

Une autre nouveauté qui se démarque est la l'optimisation de copie ne s'applique pas au retour std :: move (local);, plus la prise en charge a été ajoutée pour l'affichage des messages de diagnostic dans différentes couleurs pour les plates-formes Unix et que la balise de bibliothèque peut maintenant contenir une balise pour les pointeurs intelligents qui ont une propriété unique. Un avertissement de lien suspendu est désormais émis pour ces types de pointeurs intelligents.

En outre, les contrôles de Misra C 2012 ont été entièrement mis en œuvre, y compris l'Amendement 1 et l'Amendement 2, à l'exception des règles 1.1, 1.2 et 17.3. Le compilateur doit effectuer les vérifications 1.1 et 1.2. Un compilateur comme GCC peut vérifier 17.3.

Des autres changements qui ressortent de cette nouvelle version:

  • Le fichier ne peut pas être ouvert simultanément pour lire et écrire dans différents flux ;
  • Ajout de l'analyse symbolique pour ValueFlow. Un delta simple est utilisé lors du calcul de la différence entre deux variables inconnues ;
  • Les règles utilisées pour la liste de jetons « définir » peuvent également correspondre à #include ;
  • La balise bibliothèque peut maintenant contenir une balise et donc des fonctions libres qui peuvent accepter des conteneurs comme std :: size, std :: empty, std :: begin, std :: end, etc. vous pouvez spécifier un rendement ou une action pour les conteneurs ;
  • Correction de problèmes avec la gestion du paramètre –cppcheck-build-dir ;
    htmlreport peut maintenant imprimer des informations sur l'auteur (en utilisant git blâme) ;
  • Émission prolongée d'avertissements sur des variables qui ne sont pas constantes, mais peuvent devenir constantes ;
  • Les bugs et les déficiences accumulés dans l'analyseur ont été corrigés.

Enfin, si vous souhaitez en savoir plus sur cette nouvelle version, vous pouvez consulter les détails dans le lien suivant.

Comment installer cppcheck sur Linux ?

Pour ceux qui souhaitent pouvoir installer cppcheck sur leur distribution Linux, ils peuvent suivre les instructions que nous partageons ci-dessous.

Si vous êtes un utilisateur de Debian ou de toute autre distribution basée ou dérivée de celle-ci comme Deepin ou Ubuntu, vous pouvez installer directement depuis le terminal en tapant la commande suivante :

sudo apt-get install cppcheck

Maintenant, pour ceux qui sont des utilisateurs de Fedora et de ses dérivés, ils peuvent effectuer l'installation en tapant la commande suivante :

sudo yum instalar cppcheck

Ou pour ceux qui sont des utilisateurs d'Arch Linux ou de tout autre dérivé de celui-ci, ils peuvent l'installer avec la commande suivante :

sudo pacman -S cppcheck


Le contenu de l'article adhère à nos principes de éthique éditoriale. Pour signaler une erreur, cliquez sur c'est par ici !.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.