Selama bertahun-tahun, tim PVS-Studio telah mengembangkan alat analisis statis dengan nama yang sama. Pada titik ini, penganalisis mewakili solusi perangkat lunak yang kompleks, yang menyediakan analisis bahasa pemrograman seperti itu, seperti C, C ++, C # dan Java pada platform Windows, Linux dan macOS. Baru-baru ini bahasa Jawa bergabung dengan jajaran bahasa yang didukung. Alat analisa PVS-Studio telah membuktikan dirinya sebagai alat yang dapat diandalkan di antara pengembang C ++ dan C # dalam beberapa waktu, sedangkan untuk pemirsa Java PVS-Studio masih merupakan pendatang baru. Banyak yang bahkan belum pernah mendengar tentang alat analisis, dan mereka yang punya, tidak cukup akrab dengan semua kemampuannya. Jadi dalam artikel ini, saya ingin memperkenalkan PVS-Studio Java kepada Anda, berbicara tentang cara memulainya dan kemampuannya.
Ikhtisar
Penganalisis kode statis PVS-Studio Java terdiri dari 2 bagian utama: kernel, yang melakukan analisis, dan plugin untuk integrasi dalam sistem build (Gradle, Maven) dan IDE (IntelliJ IDEA).
Plugin mendapatkan struktur proyek (kumpulan file sumber dan classpath), kemudian meneruskan informasi ini ke inti penganalisa. Selain itu, plugin bertanggung jawab untuk menggunakan inti untuk analisis - itu akan dimuat secara otomatis pada saat dijalankan pertama.
Juga dimungkinkan untuk menjalankan alat analisa secara langsung, mendaftar sumber dan classpath.
Analisis dapat dilakukan jika komputer Anda memenuhi persyaratan sistem berikut:
Sistem operasi: Windows, Linux, macOS;
Minimum versi Java yang diperlukan untuk menjalankan alat analisa dengan: Java 8 (64-bit). Catatan: Proyek yang sedang dianalisis dapat menggunakan versi Java apa pun;
Versi minimum IntelliJ IDEA: 2017.2.
Plugin untuk pakar
Jika proyek yang sedang Anda kerjakan didasarkan pada sistem build Maven, Anda dapat menggunakan plugin pvsstudio-maven-plugin. Untuk melakukan ini, Anda perlu menambahkan yang berikut ke file pom.xml:
<pluginRepositories> <pluginRepository> <id>pvsstudio-maven-repo</id> <url>http:
Sebelum menjalankan 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 di
~ / .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, Anda perlu menambahkan berikut ini di file 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 menjalankan analisis, Anda harus memasukkan data lisensi:
./gradlew pvsCredentials "-Ppvsstudio.username=USR" "-Ppvsstudio.serial=KEY"
Setelah itu, informasi lisensi akan disimpan dalam
% APPDATA% / PVS-Studio-Java / PVS-Studio.lic di 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 analisis Java PVS-Studio dapat juga digunakan sebagai plugin untuk IntelliJ IDEA. Dalam hal ini, penguraian struktur proyek dibuat dengan menggunakan IDE ini dan plugin menyediakan antarmuka grafis yang nyaman untuk bekerja dengan penganalisa.
Plugin PVS-Studio untuk IDEA dapat diinstal:
Setelah Anda menginstal plugin, Anda harus memasukkan data lisensi:
1) Analisis -> PVS-Studio -> Pengaturan
2) Tab pendaftaran:
Anda kemudian dapat menjalankan analisis proyek saat ini:
Perizinan
Alat analisis PVS-Studio dimaksudkan untuk tim pengembang dan pada dasarnya mewakili produk B2B yang eksklusif. Untuk bermain-main dengan semua kemampuan analisa, Anda dapat
meminta kunci percobaan .
Jika Anda mengembangkan proyek terbuka, atau misalnya, Anda seorang pelajar, maka Anda dapat menggunakan salah satu opsi lisensi gratis dari PVS-Studio.
Penindasan Positif Palsu
Untuk melawan positif palsu, penganalisa menyediakan satu set mekanisme yang berbeda.
1. Menggunakan komentar khusus dalam kode:
void f() { int x = 01000;
2. Menggunakan
file penekan .
3. Menggunakan anotasi @SuppressWarnings (....).
Penganalisa menyadari anotasi dan mungkin tidak mengeluarkan peringatan pada kode yang telah ditandai. Sebagai contoh:
@SuppressWarnings("OctalInteger") void f() { int x = 01000; }
Kesimpulan
Apa yang baru saja kita lihat hanyalah sebagian kecil dari apa yang bisa dikatakan. Sebagai contoh, dimungkinkan juga untuk berintegrasi dengan SonarQube dan banyak lagi. PVS-Studio Java adalah arah baru yang secara aktif berkembang:
- fungsionalitas baru ditambahkan,
- kemampuan berkembang,
- aturan diagnostik ditambahkan dan ditingkatkan,
- dan masih banyak lagi.
Untuk sepenuhnya mengeksplorasi kemampuan analisa yang ada dan tidak ketinggalan munculnya yang baru di masa depan, ikuti
blog PVS-Studio.