Selama bertahun-tahun, tim PVS-Studio telah mengembangkan alat analisa statis dengan nama yang sama. Saat ini, penganalisa adalah solusi perangkat lunak yang kompleks dan memberikan kemampuan untuk menganalisis bahasa pemrograman seperti C, C ++, C # dan Java pada platform Windows, Linux, dan macOS. Baru-baru ini, Java telah ditambahkan ke sejumlah bahasa pemrograman yang didukung. Jika penganalisis PVS-Studio telah memantapkan dirinya di antara pengembang C ++ dan C # selama bertahun-tahun, maka PVS-Studio masih merupakan pemula bagi pemirsa Java. Banyak yang bahkan tidak mendengar tentang alat analisa, dan mereka yang mendengarnya tidak terlalu akrab dengan semua kemampuannya. Oleh karena itu, dalam artikel ini saya ingin memperkenalkan Anda ke PVS-Studio Java, berbicara tentang metode peluncuran dan kemampuannya.
Informasi umum
PVS-Studio Java static code analyzer terdiri dari dua bagian utama: kernel yang melakukan analisis, dan plug-in untuk integrasi ke dalam sistem perakitan (Gradle, Maven) dan IDE (IntelliJ IDEA).
Plugin menerima struktur proyek (set file sumber dan classpath), setelah itu mereka mentransfer informasi ini ke kernel. Selain itu, plugin bertanggung jawab untuk menggunakan kernel untuk analisis - plugin akan secara otomatis diunduh pada peluncuran pertama.
Dimungkinkan juga untuk menjalankan analisa secara langsung dengan mendaftar sumber dan classpath.
Analisis dapat dilakukan jika komputer Anda memenuhi persyaratan sistem berikut:
- Sistem Operasi: Windows, Linux, macOS;
- Versi minimum Java untuk menjalankan penganalisis: Java 8 (64-bit). Catatan: proyek yang dianalisis dapat menggunakan versi Java apa pun;
- Versi minimum IntelliJ IDEA adalah 2017.2.
Plugin untuk Maven
Jika proyek yang sedang Anda kerjakan didasarkan pada sistem build Maven, Anda dapat menggunakan plugin pvsstudio-maven-plugin. Untuk melakukan ini, tambahkan berikut ini ke file pom.xml proyek:
<pluginRepositories> <pluginRepository> <id>pvsstudio-maven-repo</id> <url>http:
Sebelum memulai analisis, Anda harus memasukkan data lisensi:
mvn pvsstudio:pvsCredentials "-Dpvsstudio.username=USR" "-Dpvsstudio.serial=KEY"
Setelah itu, informasi lisensi akan disimpan dalam
% APPDATA% / PVS-Studio-Java / PVS-Studio.lic di Windows atau
~ / .config / PVS-Studio-Java / PVS-Studio.lic di macOS dan Linux.
Setelah itu, Anda dapat menjalankan analisis:
$ mvn pvsstudio:pvsAnalyze
Di blok
<analyzer> , Anda dapat mengonfigurasi analisa. Daftar semua pengaturan dapat ditemukan di
sini .
Plugin untuk gradle
Jika proyek yang sedang Anda kerjakan didasarkan pada sistem build Gradle, Anda dapat menggunakan plugin pvsstudio-gradle-plugin. Untuk melakukan ini, tambahkan berikut ini ke file proyek 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' .... }
Sebelum memulai analisis, Anda harus memasukkan data lisensi:
./gradlew pvsCredentials "-Ppvsstudio.username=USR" "-Ppvsstudio.serial=KEY"
Setelah itu, informasi lisensi, serta dengan plugin Maven, akan disimpan dalam
% APPDATA% / PVS-Studio-Java / PVS-Studio.lic pada OS Windows atau di
~ / .config / PVS-Studio-Java / PVS- Studio.lic di macOS dan Linux.
Setelah itu, Anda dapat menjalankan analisis:
$ ./gradlew pvsAnalyze
Di blok pvsstudio, Anda dapat mengonfigurasi analisator. Daftar semua pengaturan dapat ditemukan di
sini .
Plugin untuk IntelliJ IDEA
Alat analisa Java PVS-Studio juga dapat digunakan sebagai plug-in untuk IntelliJ IDEA. Dalam hal ini, analisis struktur proyek dilakukan dengan menggunakan IDE ini, dan plug-in menyediakan antarmuka grafis yang nyaman untuk bekerja dengan penganalisa.
Plugin PVS-Studio untuk IDEA dapat diinstal dari:
Setelah Anda menginstal plugin, Anda harus memasukkan data lisensi:
1) Analisis → PVS-Studio → Pengaturan
2) Tab pendaftaran:
Sekarang Anda dapat memulai analisis proyek saat ini:
Perizinan
Alat analisis PVS-Studio difokuskan pada tim pengembangan dan pada dasarnya adalah produk B2B yang eksklusif. Untuk membiasakan diri dengan kemampuan penganalisa, Anda dapat
meminta kunci percobaan .
Jika Anda mengembangkan proyek sumber terbuka, atau, misalnya, menjadi mahasiswa, maka Anda dapat menggunakan salah satu
opsi lisensi gratis
dari PVS-Studio.
Penindasan peringatan palsu
Untuk memerangi positif palsu, penganalisis menyediakan serangkaian mekanisme yang berbeda:
1. Menggunakan komentar khusus dalam kode:
void f() { int x = 01000;
2. Menggunakan
file penekan .
3. Menggunakan anotasi @SuppressWarnings (....)
Penganalisis mengetahui beberapa anotasi dan mungkin tidak menghasilkan peringatan pada kode yang telah ditandai. Sebagai contoh:
@SuppressWarnings("OctalInteger") void f() { int x = 01000; }
Kesimpulan
Apa yang baru saja kita periksa hanyalah sebagian kecil dari apa yang bisa dikatakan. Misalnya, ada kemungkinan integrasi dengan SonarQube dan sebagainya. PVS-Studio Java adalah area muda yang aktif berkembang:
- fungsionalitas baru ditambahkan
- memperluas peluang
- aturan diagnostik ditambahkan dan ditingkatkan,
- dan masih banyak lagi.
Untuk sepenuhnya mengeksplorasi kemampuan analisis yang ada dan tidak ketinggalan penampilan yang baru di masa mendatang, baca
blog PVS-Studio.

Jika Anda ingin berbagi artikel ini dengan audiens yang berbahasa Inggris, silakan gunakan tautan ke terjemahan: Maxim Stefanov.
Mengenal Penganalisis Statis PVS-Studio untuk Java