Ao longo dos anos, a equipe PVS-Studio vem desenvolvendo o analisador estático de mesmo nome. Nesse ponto, o analisador representa uma solução de software complexa, que fornece a análise de linguagens de programação como C, C ++, C # e Java nas plataformas Windows, Linux e macOS. Recentemente, a linguagem Java se juntou às fileiras de idiomas suportados. O analisador PVS-Studio provou ser uma ferramenta confiável entre os desenvolvedores de C ++ e C # há algum tempo, enquanto para o público Java o PVS-Studio ainda é um novato. Muitos nem ouviram falar do analisador, e aqueles que o fizeram, não estão familiarizados com todas as suas habilidades. Portanto, neste artigo, eu gostaria de apresentar o PVS-Studio Java a você, falar sobre as maneiras de iniciá-lo e suas habilidades.
Visão geral
O analisador de código estático Java do PVS-Studio consiste em 2 partes principais: o kernel, que executa a análise, e plugins para integração em sistemas de construção (Gradle, Maven) e IDE (IntelliJ IDEA).
Os plug-ins obtêm a estrutura do projeto (uma coleção de arquivos de origem e caminho de classe) e depois passam essas informações para o núcleo do analisador. Além disso, os plug-ins são responsáveis pela implantação do núcleo para análise - ele será carregado automaticamente na primeira execução.
Também é possível executar o analisador diretamente, listando as fontes e o caminho da classe.
A análise pode ser feita se o seu computador atender aos seguintes requisitos de sistema:
Sistema operacional: Windows, Linux, macOS;
Versão Java mínima necessária para executar o analisador com: Java 8 (64 bits). Nota: Um projeto que está sendo analisado pode usar qualquer versão Java;
Versão mínima do IntelliJ IDEA: 2017.2.
Plugin para maven
Se o projeto em que você está trabalhando for baseado no sistema de compilação Maven, você poderá usar o plugin pvsstudio-maven-plugin. Para fazer isso, você precisa adicionar o seguinte ao arquivo pom.xml:
<pluginRepositories> <pluginRepository> <id>pvsstudio-maven-repo</id> <url>http:
Antes de executar a análise, você precisa inserir os dados da licença:
mvn pvsstudio:pvsCredentials "-Dpvsstudio.username=USR" "-Dpvsstudio.serial=KEY"
Depois disso, as informações da licença serão salvas em
% APPDATA% / PVS-Studio-Java / PVS-Studio.lic no Windows ou em
~ / .config / PVS-Studio-Java / PVS-Studio.lic no macOS e Linux.
Depois disso, você pode executar a análise:
$ mvn pvsstudio:pvsAnalyze
No bloco
<analisador>, você pode configurar o analisador. Uma lista de todas as configurações pode ser encontrada
aqui .
Plugin for gradle
Se o projeto em que você está trabalhando for baseado no sistema de construção Gradle, você poderá usar o plugin pvsstudio-gradle-plugin. Para fazer isso, você precisa adicionar o seguinte no arquivo 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' .... }
Antes de executar a análise, você precisa inserir os dados da licença:
./gradlew pvsCredentials "-Ppvsstudio.username=USR" "-Ppvsstudio.serial=KEY"
Depois disso, as informações da licença serão salvas em
% APPDATA% / PVS-Studio-Java / PVS-Studio.lic no sistema operacional Windows ou em
~ / .config / PVS-Studio-Java / PVS-Studio.lic no macOS e Linux .
Depois disso, você pode executar a análise:
$ ./gradlew pvsAnalyze
No bloco 'pvsstudio' você pode configurar o analisador. Uma lista de todas as configurações pode ser encontrada
aqui .
Plugin para IntelliJ IDEA
O analisador Java PVS-Studio também pode ser usado como um plug-in para o IntelliJ IDEA. Nesse caso, a análise da estrutura do projeto é feita por meio desse IDE e o plug-in fornece uma interface gráfica conveniente para trabalhar com o analisador.
O plug-in PVS-Studio para IDEA pode ser instalado:
Depois de instalar o plug-in, é necessário inserir os dados da licença:
1) Analisar -> PVS-Studio -> Configurações
2) guia Registro:
Você pode executar a análise do projeto atual:
Licenciamento
O analisador PVS-Studio destina-se a equipes de desenvolvedores e representa essencialmente um produto B2B proprietário. Para brincar com todas as habilidades do analisador, você pode
solicitar uma chave de avaliação .
Se você estiver desenvolvendo projetos abertos ou, por exemplo, for um estudante, poderá usar uma das opções de licenciamento gratuitas do PVS-Studio.
Supressão de falsos positivos
Para combater os falsos positivos, o analisador fornece um conjunto de mecanismos diferentes.
1. Usando comentários especiais no código:
void f() { int x = 01000;
2. Usando o
arquivo suprimir .
3. Usando as anotações @SuppressWarnings (....).
O analisador está ciente das anotações e pode não emitir avisos sobre o código que já foi marcado. Por exemplo:
@SuppressWarnings("OctalInteger") void f() { int x = 01000; }
Conclusão
O que acabamos de ver é apenas uma pequena parte do que poderia ser dito. Por exemplo, também é possível integrar-se ao SonarQube e muito mais. O PVS-Studio Java é uma nova direção que está desenvolvendo ativamente:
- nova funcionalidade é adicionada,
- habilidades estão se expandindo,
- regras de diagnóstico são adicionadas e aprimoradas,
- e muito mais
Para explorar completamente as capacidades existentes do analisador e não perder o surgimento de novas no futuro, siga o
blog do PVS-Studio.