Au fil des ans, l'équipe PVS-Studio a développé l'analyseur statique du même nom. À l'heure actuelle, l'analyseur est une solution logicielle complexe et offre la possibilité d'analyser des langages de programmation tels que C, C ++, C # et Java sur les plates-formes Windows, Linux et macOS. Plus récemment, Java a été ajouté à un certain nombre de langages de programmation pris en charge. Si l'analyseur PVS-Studio s'est déjà imposé parmi les développeurs C ++ et C # depuis de nombreuses années, alors PVS-Studio est toujours un débutant pour le public Java. Beaucoup n'ont même pas entendu parler de l'analyseur, et ceux qui l'ont entendu ne connaissent pas très bien toutes ses capacités. Par conséquent, dans cet article, je voudrais vous présenter PVS-Studio Java, parler des méthodes de lancement et de ses capacités.
Informations générales
L'analyseur de code statique Java PVS-Studio se compose de deux parties principales: le noyau qui effectue l'analyse et les plug-ins pour l'intégration dans les systèmes d'assemblage (Gradle, Maven) et IDE (IntelliJ IDEA).
Les plugins reçoivent la structure du projet (ensembles de fichiers source et chemin de classe), après quoi ils transfèrent ces informations au noyau. De plus, les plugins sont responsables du déploiement du noyau pour l'analyse - il sera automatiquement téléchargé au premier lancement.
Il est également possible d'exécuter l'analyseur directement en répertoriant les sources et le chemin d'accès aux classes.
L'analyse peut être effectuée si votre ordinateur répond aux exigences système suivantes:
- Système d'exploitation: Windows, Linux, macOS;
- Version minimale de Java pour exécuter l'analyseur: Java 8 (64 bits). Remarque: le projet analysé peut utiliser n'importe quelle version de Java;
- La version minimale d'IntelliJ IDEA est 2017.2.
Plugin pour Maven
Si le projet sur lequel vous travaillez est basé sur le système de build Maven, vous pouvez utiliser le plugin pvsstudio-maven-plugin. Pour ce faire, ajoutez ce qui suit au fichier pom.xml du projet:
<pluginRepositories> <pluginRepository> <id>pvsstudio-maven-repo</id> <url>http:
Avant de lancer l'analyse, vous devez saisir les données de licence:
mvn pvsstudio:pvsCredentials "-Dpvsstudio.username=USR" "-Dpvsstudio.serial=KEY"
Après cela, les informations de licence seront enregistrées dans
% APPDATA% / PVS-Studio-Java / PVS-Studio.lic sous Windows ou
~ / .config / PVS-Studio-Java / PVS-Studio.lic sous macOS et Linux.
Après cela, vous pouvez exécuter l'analyse:
$ mvn pvsstudio:pvsAnalyze
Dans le bloc
<analyzer> , vous pouvez configurer l'analyseur. Une liste de tous les paramètres peut être trouvée
ici .
Plugin pour gradle
Si le projet sur lequel vous travaillez est basé sur le système de construction Gradle, vous pouvez utiliser le plugin pvsstudio-gradle-plugin. Pour ce faire, ajoutez ce qui suit au fichier de projet build.gradle:
buildscript { repositories { mavenCentral() maven { url uri('http://files.viva64.com/java/pvsstudio-maven-repository/') } } dependencies { classpath group: 'com.pvsstudio', name: 'pvsstudio-gradle-plugin', version: '{VERSION_PVS_JAVA}' } }
apply plugin: com.pvsstudio.PvsStudioGradlePlugin pvsstudio { outputType = 'text' outputFile = 'path/to/output.txt' .... }
Avant de lancer l'analyse, vous devez saisir les données de licence:
./gradlew pvsCredentials "-Ppvsstudio.username=USR" "-Ppvsstudio.serial=KEY"
Après cela, les informations de licence, ainsi que le plug-in Maven, seront enregistrées dans
% APPDATA% / PVS-Studio-Java / PVS-Studio.lic dans le système d'exploitation Windows ou dans
~ / .config / PVS-Studio-Java / PVS- Studio.lic sur macOS et Linux.
Après cela, vous pouvez exécuter l'analyse:
$ ./gradlew pvsAnalyze
Dans le bloc pvsstudio, vous pouvez configurer l'analyseur. Une liste de tous les paramètres peut être trouvée
ici .
Plugin pour IntelliJ IDEA
L'analyseur Java PVS-Studio peut également être utilisé comme plug-in pour IntelliJ IDEA. Dans ce cas, l'analyse de la structure du projet est effectuée au moyen de cet IDE, et le plug-in fournit une interface graphique pratique pour travailler avec l'analyseur.
Le plugin PVS-Studio pour IDEA peut être installé à partir de:
Après avoir installé le plugin, vous devez entrer les données de licence:
1) Analyser → PVS-Studio → Paramètres
2) Onglet d'enregistrement:
Vous pouvez maintenant démarrer l'analyse du projet en cours:
Licence
L'analyseur PVS-Studio est axé sur les équipes de développement et est essentiellement un produit B2B propriétaire. Pour vous familiariser avec les capacités de l'analyseur, vous pouvez
demander une clé d'essai .
Si vous développez des projets open source, ou, par exemple, si vous êtes étudiant, vous pouvez utiliser l'une des
options de licence gratuites
de PVS-Studio.
Suppression des fausses alertes
Pour lutter contre les faux positifs, l'analyseur propose un ensemble de mécanismes différents:
1. Utilisation de commentaires spéciaux dans le code:
void f() { int x = 01000;
2. Utilisation du
fichier de suppression .
3. Utilisation des annotations @SuppressWarnings (....)
L'analyseur est au courant de certaines annotations et peut ne pas générer d'avertissements sur du code déjà balisé. Par exemple:
@SuppressWarnings("OctalInteger") void f() { int x = 01000; }
Conclusion
Ce que nous venons d'examiner n'est qu'une petite partie de ce que l'on pourrait dire. Par exemple, il y a la possibilité d'intégration avec SonarQube et ainsi de suite. PVS-Studio Java est un domaine jeune qui développe activement:
- une nouvelle fonctionnalité est ajoutée
- élargir les opportunités
- des règles de diagnostic sont ajoutées et améliorées,
- et bien plus.
Pour explorer pleinement les capacités existantes de l'analyseur et ne pas manquer l'apparition de nouvelles à l'avenir, lisez le
blog PVS-Studio.

Si vous souhaitez partager cet article avec un public anglophone, veuillez utiliser le lien vers la traduction: Maxim Stefanov.
Apprenez à connaître l'analyseur statique PVS-Studio pour Java