
PVS-Studio prend en charge l'analyse de projets développés en C, C ++, C # et Java. Vous pouvez utiliser l'analyseur sous Windows, Linux et macOS. Ce petit article vous expliquera les bases de l'analyse du code C et C ++ dans un environnement Linux.
L'installation
Il existe différentes façons d'installer PVS-Studio sous Linux, selon votre type de distribution. La méthode la plus pratique et préférée consiste à utiliser le référentiel, car il permet la mise à jour automatique de l'analyseur lors de la publication de nouvelles versions. Une autre option consiste à utiliser le package d'installation, que vous pouvez obtenir
ici .
Les commandes d'installation diffèrent selon la distribution Linux que vous utilisez. Par exemple, voici à quoi ressemble l'installation à partir du référentiel sous les systèmes basés sur Debian:
wget -q -O - https:
Pour installer PVS-Studio à partir du package téléchargeable, vous pouvez utiliser l'utilitaire
gdebi :
sudo gdebi pvs-studio-VERSION.deb
Le processus d'installation est décrit plus en détail dans la section de documentation "
Installation et mise à jour de PVS-Studio sous Linux ". Vous pouvez également y trouver des informations sur les systèmes non Debian.
Une fois PVS-Studio installé, vous devez saisir les données de licence. Voici la commande pour cela:
pvs-studio-analyzer credentials NAME KEY [-o LIC-FILE]
NAME et
KEY sont respectivement le nom d'utilisateur enregistré et la clé de licence. Le paramètre facultatif
–o vous permet de spécifier l'emplacement où un fichier de licence sera généré. Par défaut, il sera stocké dans le répertoire
~ / .config / PVS-Studio / .
Si vous avez besoin d'une clé d'essai, vous pouvez l'obtenir sur la page "
Télécharger et évaluer PVS-Studio ".
Vérification de votre projet
Une fois l'analyseur installé, vous pouvez commencer à vérifier les projets. Il existe deux façons principales de procéder:
- Surveillance de la compilation.
- Exécution directe des systèmes de build.
Parlons de la première façon. Pour lancer la surveillance sous Linux, vous avez besoin de l'utilitaire
strace . PVS-Studio l'utilise pour collecter une liste et les paramètres des processus, qui ont été lancés lors de la construction.
Utilisez la commande ci-dessous pour lancer la génération:
pvs-studio-analyzer trace -- make
Ici,
make est utilisé, mais toute autre commande que vous exécutez pour construire votre projet peut être à sa place. Si nécessaire, vous pouvez lui passer des paramètres de ligne de commande de la manière habituelle.
Après la construction,
strace créera un fichier, que l'analyseur utilisera ensuite pour vérifier le code source. Pour démarrer l'analyse, utilisez la commande ci-dessous.
pvs-studio-analyzer analyze -o /path/to/project.log
En conséquence, un fichier journal codé sera généré, que vous pourrez convertir dans l'un des formats pris en charge. Nous parlerons de l'utilisation des rapports plus tard.
Outre
strace , vous pouvez baser l'analyse sur le
fichier compile_commands.json (JSON Compilation Database). De nombreux systèmes de génération ont des moyens intégrés d'exporter des commandes de compilation, ou vous pouvez utiliser l'utilitaire
BEAR pour ce faire. Voici la commande pour lancer l'analyse dans ce cas:
pvs-studio-analyzer analyze –f /path/to/compile_commands.json
Notez que l'analyseur reconnaît le compilateur, utilisé dans le processus de génération, par son nom exécutable. Si vous obtenez l'erreur «Aucune unité de compilation trouvée» lors de la tentative d'analyse de votre projet, essayez de spécifier explicitement le nom de votre compilateur via la touche de ligne de commande
–compiler ou
–c :
pvs-studio-analyzer analyze -c MyCompiler
Vous pouvez en avoir besoin si vous utilisez la compilation croisée ou si votre compilateur a un nom exécutable non standard.
Outre le mode de surveillance, vous pouvez intégrer l'analyseur directement dans votre système de construction ou IDE. Notre référentiel
GitHub officiel fournit des exemples de projets où l'intégration a déjà été configurée:
Pour en savoir plus sur l'exécution de l'analyseur sous Linux, consultez la
documentation .
Travailler avec des rapports
Après avoir vérifié un projet, l'analyseur crée un rapport codé. Pour le convertir dans l'un des formats pris en charge, vous devez utiliser l'
utilitaire plog-converter fourni avec l'installation de PVS-Studio.
Voici une liste des formats pris en charge:
- xml-un format pratique pour un traitement ultérieur des résultats de l'analyse, qui est pris en charge pris en charge par le plugin pour SonarQube ;
- csv - le fichier stocke les données tabulaires (nombres et texte) en texte brut;
- errorfile est le format de sortie de gcc et clang;
- liste des tâches - un format d'erreur qui peut être ouvert dans QtCreator;
- html - rapport html avec une brève description des résultats de l'analyse;
- fullhtml - rapport avec tri des résultats d'analyse selon les différents paramètres et navigation le long du code source.
Le format fullhtml est le plus pratique pour afficher le rapport, car il permet de passer à la ligne de code, correspondant à l'avertissement qui vous intéresse. La commande suivante vous permet de convertir le rapport dans ce format:
plog-converter -a GA:1,2 -t fullhtml /path/project.log -o /path/report_dir
Lorsque vous le lancez, un répertoire nouvellement créé nommé
/ path / report_dir contiendra tous les fichiers de rapport.
Faites attention au paramètre
-a . Il vous permet de spécifier quels avertissements doivent apparaître dans le rapport résultant. C'est pratique si vous devez filtrer la sortie de l'analyseur. La commande ci-dessus créera un rapport, qui ne contiendra que des messages d'analyse générale des premier et deuxième niveaux de certitude (
élevé et
moyen ).
Un exemple de rapport:
En cliquant dans la cellule
Emplacement d' un message, vous pouvez passer à la ligne de code correspondante:
En cliquant sur le code de diagnostic dans la colonne
Code , vous pouvez ouvrir la documentation sur ce diagnostic.
Suppression des avertissements de l'analyseur
Lorsque vous utilisez un analyseur statique pour vérifier le code source, vous pouvez obtenir des faux positifs ou simplement des avertissements de bruit indésirables. PVS-Studio dispose de moyens pour supprimer ces messages. Pour cibler des avertissements individuels, vous pouvez utiliser l'une des méthodes décrites dans l'article de documentation "
Suppression des fausses alarmes ".
En outre, lors de la vérification de l'ancien code, vous souhaiterez peut-être supprimer tous les avertissements. En règle générale, vous pouvez en avoir besoin si vous souhaitez uniquement vérifier le nouveau code que vous ajoutez à une base de code existante. Pour ce faire, utilisez le paramètre
suppress de l'
utilitaire pvs-studio-analyzer .
Vous pouvez supprimer en masse les avertissements dans un rapport à l'aide de cette commande:
pvs-studio-analyzer suppress /path/to/report.log
Les informations sur les avertissements supprimés sont stockées dans un fichier nommé
suppress_base.json , situé à côté du projet. Ces messages sont exclus des rapports sur les vérifications ultérieures.
Ce mécanisme est décrit en détail
ici .
Conclusion
Ce fut une brève introduction à l'utilisation de PVS-Studio sous Linux. J'espère que cela a été utile et a réussi à répondre aux questions les plus fréquentes. Si vous avez besoin de plus d'informations sur le sujet de cet article, reportez-vous à la documentation
ici .