Au fil des ans, l'équipe PVS-Studio a développé l'analyseur statique du même nom. À ce stade, l'analyseur représente une solution logicielle complexe, qui fournit l'analyse de ces langages de programmation, tels que C, C ++, C # et Java sur les plates-formes Windows, Linux et macOS. Tout récemment, le langage Java a rejoint les rangs des langages pris en charge. L'analyseur PVS-Studio s'est révélé être un outil fiable parmi les développeurs C ++ et C # depuis un certain temps, alors que pour le public Java, PVS-Studio est encore un nouveau venu. Beaucoup n'ont même pas entendu parler de l'analyseur, et ceux qui l'ont connu ne connaissent pas bien toutes ses capacités. Donc, dans cet article, je voudrais vous présenter PVS-Studio Java, vous parler des façons de le démarrer et de ses capacités.
Présentation
L'analyseur de code statique Java PVS-Studio se compose de 2 parties principales: le noyau, qui effectue l'analyse, et les plugins pour l'intégration dans les systèmes de construction (Gradle, Maven) et IDE (IntelliJ IDEA).
Les plugins obtiennent la structure du projet (une collection de fichiers source et de chemin de classe), puis transmettent ces informations au noyau de l'analyseur. De plus, les plugins sont responsables du déploiement du noyau pour l'analyse - il sera automatiquement chargé lors de la première exécution.
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 Java minimale requise pour exécuter l'analyseur avec: Java 8 (64 bits). Remarque: Un projet en cours d'analyse pourrait utiliser n'importe quelle version de Java;
Version minimale d'IntelliJ IDEA: 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, vous devez ajouter ce qui suit au fichier pom.xml:
<pluginRepositories> <pluginRepository> <id>pvsstudio-maven-repo</id> <url>http:
Avant d'exécuter 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 dans
~ / .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, vous devez ajouter les éléments suivants dans le fichier 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 d'exécuter 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 seront enregistrées dans
% APPDATA% / PVS-Studio-Java / PVS-Studio.lic sous Windows OS ou dans
~ / .config / PVS-Studio-Java / PVS-Studio.lic sous 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 plugin pour IntelliJ IDEA. Dans ce cas, l'analyse de la structure du projet est effectuée au moyen de cet IDE et le plugin fournit une interface graphique pratique pour travailler avec l'analyseur.
Le plugin PVS-Studio pour IDEA peut être installé:
Une fois le plugin installé, vous devez saisir les données de licence:
1) Analyser -> PVS-Studio -> Paramètres
2) Onglet d'enregistrement:
Vous pouvez ensuite exécuter l'analyse du projet en cours:
Licence
L'analyseur PVS-Studio est destiné aux équipes de développeurs et représente essentiellement un produit B2B propriétaire. Pour jouer avec toutes les capacités de l'analyseur, vous pouvez
demander une clé d'essai .
Si vous développez des projets ouverts, ou par exemple, si vous êtes étudiant, vous pouvez utiliser l'une des options de licence gratuites de PVS-Studio.
Suppression des faux positifs
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 conscient des annotations et peut ne pas émettre d'avertissement sur le code qui a déjà été marqué. 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 est également possible de s'intégrer à SonarQube et bien plus encore. PVS-Studio Java est une nouvelle direction qui se développe activement:
- de nouvelles fonctionnalités sont ajoutées,
- les capacités se développent,
- 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'émergence de nouvelles à l'avenir, suivez le
blog PVS-Studio.