
Cet article vous expliquera comment lancer l'analyse d'un projet intégré et comment utiliser le rapport de l'analyseur. L'analyseur PVS-Studio prend en charge un certain nombre de compilateurs pour les systèmes embarqués. La version actuelle permet de vérifier les projets construits avec l'un des compilateurs suivants sous Windows, Linux et macOS:
L'installation
La procédure d'installation dépend du système d'exploitation que vous utilisez en développement. Sous Linux, vous pouvez installer l'analyseur à partir du référentiel ou du package d'installation.
Par exemple, sur un système basé sur Debian:
wget -q -O - https:
ou
sudo gdebi pvs-studio-VERSION.deb
Sous macOS, vous pouvez utiliser
Homebrew pour l'installation et la mise à jour:
brew install viva64/pvs-studio/pvs-studio brew upgrade pvs-studio
Une autre option - installation à partir du package
dmg ou décompression de l'archive manuellement.
Sous Windows, vous devez utiliser le programme d'installation:
Vous pouvez télécharger des packages d'installation pour chaque système pris en charge, ainsi que demander une clé d'essai, si vous en avez besoin, sur la page "
Télécharger et évaluer PVS-Studio ".
Une fois l'installation terminée, vous devez entrer la clé de licence. L'article de documentation «
Comment entrer dans la licence PVS-Studio et quelle est la prochaine étape » décrit ce processus en détail en ce qui concerne les différentes plates-formes.
Vérification de votre projet
La vérification des projets construits pour les systèmes embarqués est similaire à la vérification de ceux développés pour Windows, Linux ou macOS.
Les options disponibles sous Linux sont décrites dans l'article "
Prise en main de l'analyseur statique PVS-Studio pour le développement C ++ sous Linux ". Gardez à l'esprit que les projets intégrés sont compilés de manière croisée et que votre compilateur peut avoir un nom non standard. Pour cette raison, vous devrez peut-être le spécifier lors du lancement de l'analyse, ce que vous pouvez faire via la touche de ligne de commande
–compiler ou
–c .
pvs-studio-analyzer analyze -c MyCompiler
Son utilisation est nécessaire si l'analyseur ne peut pas détecter le type de compilateur, c'est-à-dire s'il génère l'erreur "Aucune unité de compilation trouvée".
Étant donné que la plate-forme cible diffère de celle de développement en raison de la compilation croisée, vous devrez probablement également spécifier la plate-forme cible via la clé
--platform , ainsi que le type de préprocesseur (
--preprocessor ).
Plates-formes prises en charge:
win32, x64, linux32, linux64, macos, arm.Prérocesseurs pris en charge:
gcc, clang, keil.Sous Linux, la plate-forme
linux64 et le préprocesseur
gcc sont les valeurs par défaut.
Si vous utilisez Windows, vous pouvez vérifier votre projet en mode de surveillance du compilateur. Pour ce faire, utilisez l'utilitaire "
C and C ++ Compiler Monitoring UI ", fourni avec l'analyseur. Pour commencer la surveillance, allez dans le menu
Outils et choisissez
Analyser vos fichiers ... Cette boîte de dialogue s'ouvrira:
Cliquez sur le bouton "
Démarrer la surveillance " et commencez à construire votre projet. Une fois la construction terminée, cliquez sur le bouton "
Arrêter la surveillance " dans la boîte de dialogue située dans le coin inférieur droit de l'écran:
La fenêtre principale de l'utilitaire "
C and C ++ Compiler Monitoring UI " vous permet de visualiser les résultats de l'analyse.
Il est également possible de démarrer l'analyse à partir de la ligne de commande à l'aide de l'utilitaire CLMonitor. Voici la commande qui lancera la surveillance:
CLMonitor.exe monitor
Après la génération, redémarrez-le en mode analyse:
CLMonitor.exe analyze -l "<path>\out.plog"
L'analyseur vérifiera votre projet et enregistrera les résultats dans le fichier spécifié via la touche
-l .
Voir aussi "
Système de surveillance du compilateur dans PVS-Studio ".
Utilisation des rapports
Pour afficher le rapport sous Linux, vous devez convertir le fichier journal, généré par l'analyseur, dans l'un des formats pris en charge. Utilisez l'
utilitaire plog-converter pour ce faire. Par exemple, vous pouvez générer un rapport HTML, qui vous permet d'afficher le code source, avec cette commande:
plog-converter -a GA:1,2 -t fullhtml /path/project.log -o /path/report_dir
La conversion de rapport est décrite plus en détail dans l'article "
Prise en main de l'analyseur statique PVS-Studio pour le développement C ++ sous Linux ".
La version Windows dispose également d'un utilitaire nommé
PlogConverter , dont l'utilisation est similaire à son homologue Linux:
PlogConverter.exe <path>\out.plog --renderTypes= FullHtml --analyzer=GA:1,2
ou
PlogConverter.exe D:\Projct\out.plog -t FullHtml -a GA:1,2
Vous pouvez également afficher les rapports au format
plog avec l'
utilitaire "
C and C ++ Compiler Monitoring UI " via la
commande de menu Fichier-> Ouvrir PVS-Studio Log ....Exemple:
Si nécessaire, vous pouvez exporter le rapport vers l'un des formats pris en charge via le menu
Fichier de l'utilitaire.
Norme de codage Misra
PVS-Studio classe ses avertissements selon
CWE et
SEI CERT , ce qui fonctionne assez bien pour les tests de sécurité statiques (
SAST ) des applications régulières. Cependant, les systèmes embarqués ont des exigences de sécurité différentes, couvertes par une norme
MISRA spécialement développée. La version actuelle de PVS-Studio prend partiellement en charge MISRA C et MISRA C ++. Vous pouvez voir la liste régulièrement croissante des règles prises en charge
ici .
L'utilisation de règles MISRA lors de la vérification de projets non intégrés est généralement une mauvaise idée, en raison des spécificités de la norme. Dans la plupart des cas, si le code n'était pas initialement orienté MISRA, la vérification entraînerait de nombreux faux positifs et généralement des avertissements de bruit. Ainsi, les règles MISRA sont désactivées par défaut.
Pour activer MISRA sous Linux, exécutez l'analyse avec la touche
-a et passez un paramètre numérique, selon le mode souhaité. Ce paramètre est une combinaison de champs de bits:
-a [MODE], --analysis-mode [MODE] MODE defines the type of warnings: 1 - 64-bit errors; 2 - reserved; 4 - General Analysis; 8 - Micro-optimizations; 16 - Customers Specific Requests; 32 - MISRA. Modes can be combined by adding the values Default: 4
Exemple (avec les règles GA et MISRA activées):
pvs-studio-analyzer analyze -a 36 -o /path/report.log
Vous devez également indiquer à
plog-converter d'inclure les avertissements MISRA dans le rapport résultant:
plog-converter -a MISRA:1,2,3 -m misra ....
Sous Windows, vous pouvez utiliser les paramètres de l'utilitaire "
C and C ++ Compiler Monitoring UI ":
Consultez l'article "
PVS-Studio: Prise en charge des normes de codage MISRA C et MISRA C ++ " pour en savoir plus sur la prise en charge MISRA.
Conclusion
Dans cet article, nous avons brièvement discuté des fonctionnalités de l'analyseur PVS-Studio pour vérifier les projets ciblés intégrés. Si vous avez besoin de plus d'informations sur l'utilisation de l'analyseur, je vous recommande de vous référer aux articles suivants: