
Dalam artikel ini, Anda akan belajar cara menjalankan pemeriksaan proyek tertanam dan cara bekerja dengan laporan penganalisa. Alat analisa PVS-Studio mendukung sejumlah kompiler untuk sistem embedded. Dalam versi saat ini, dimungkinkan untuk memeriksa proyek ketika membangun dengan salah satu kompiler berikut untuk Window, Linux, dan macOS:
Instalasi
Prosedur instalasi tergantung pada sistem operasi yang Anda kembangkan. Di Linux, Anda dapat menginstal penganalisis dari repositori atau dari paket instalasi.
Contoh untuk sistem berbasis Debian:
wget -q -O - https:
atau
sudo gdebi pvs-studio-VERSION.deb
Untuk macOS, instalasi dan pembaruan dapat dilakukan dari
Homebrew :
brew install viva64/pvs-studio/pvs-studio brew upgrade pvs-studio
Opsi kedua adalah menginstal paket dari
dmg atau membongkar secara manual dari arsip.
Di bawah Windows, instalasi dilakukan menggunakan installer:
Anda dapat mengunduh paket instalasi untuk semua sistem yang didukung dan, jika perlu, meminta kunci percobaan pada halaman "
Unduh dan coba PVS-Studio ".
Setelah instalasi, masukkan kunci lisensi. Anda dapat menemukan informasi tentang cara melakukan ini pada platform yang berbeda, pada halaman dokumentasi "
Cara memasukkan lisensi PVS-Studio, dan apa yang harus dilakukan selanjutnya ."
Verifikasi Proyek
Verifikasi proyek untuk sistem tertanam dapat dilakukan dengan cara yang sama seperti dalam kasus pengembangan di bawah Windows, Linux dan macOS.
Opsi peluncuran untuk Linux dibahas dalam artikel "
Memperkenalkan penganalisa statis PVS-Studio ketika mengembangkan program C ++ di lingkungan Linux ". Ingatlah bahwa sejak kompilasi silang digunakan untuk membangun di bawah embedded, dan nama kompiler mungkin tidak standar, Anda mungkin perlu menentukannya saat menganalisis proyek. Untuk melakukan ini, gunakan
opsi baris perintah
βcompiler atau
βc :
pvs-studio-analyzer analyze -c MyCompiler
Gunakan parameter ini ketika penganalisis tidak dapat menentukan jenis kompiler yang digunakan, yaitu, ketika kesalahan "Tidak ada unit kompilasi ditemukan" dikeluarkan.
Ketika mengkompilasi silang, karena platform target berbeda dari yang di mana perakitan berlangsung, bersama dengan kompiler Anda mungkin perlu menentukan platform target menggunakan parameter
--platform , serta jenis preprocessor (
--preprosesor ).
Platform yang didukung:
win32, x64, linux32, linux64, macos, arm.Preprosesor yang didukung:
gcc, dentang, keil.Secara default, Linux memilih platform
linux64 dan preprosesor
gcc .
Jika Anda menggunakan Windows, Anda dapat memeriksa proyek dalam mode pemantauan kompilasi. Untuk melakukan ini, jalankan utilitas "
C and C ++ Compiler Monitoring UI ", yang diinstal dengan penganalisis. Untuk memulai pemantauan, buka menu
Alat dan klik
Analisis File Anda ... Dialog terbuka:
Klik tombol "
Mulai Pemantauan " dan jalankan build. Setelah selesai, klik tombol "
Stop Monitoring " di kotak dialog di sudut kanan bawah layar:
Hasil pengujian dapat dilihat di jendela utama utilitas "
C dan C ++ Compiler Monitoring UI ".
Anda juga dapat menjalankan analisis dari baris perintah. Untuk ini, utilitas CLMonitor digunakan. Anda dapat mulai memantau dengan perintah:
CLMonitor.exe monitor
Setelah perakitan selesai, Anda harus menjalankan utilitas dalam mode analisis:
CLMonitor.exe analyze -l "<path>\out.plog"
Penganalisa akan memeriksa proyek dan menyimpan hasilnya ke file yang ditentukan dalam parameter
-l .
Lihat juga bagian dokumentasi "
Sistem Pemantauan Kompilasi di PVS-Studio ".
Bekerja dengan laporan
Untuk melihat laporan di Linux, Anda perlu mengonversi file yang diperoleh sebagai hasil analisis ke salah satu format yang didukung menggunakan utilitas
plog-converter . Anda bisa mendapatkan laporan dalam format HTML dengan kemampuan untuk melihat kode sumber dengan perintah berikut:
plog-converter -a GA:1,2 -t fullhtml /path/project.log -o /path/report_dir
Konversi laporan dijelaskan secara lebih rinci dalam artikel "
Kenalan dengan analisa statis PVS-Studio ketika mengembangkan program C ++ di Linux ".
Di Windows, ada juga utilitas
PlogConverter yang memungkinkan Anda mengonversi file laporan dengan cara yang sama:
PlogConverter.exe <path>\out.plog --renderTypes= FullHtml --analyzer=GA:1,2
atau
PlogConverter.exe D:\Projct\out.plog -t FullHtml -a GA:1,2
Juga, laporan dalam format
plog dapat dilihat menggunakan utilitas "
C dan C ++ Compiler Monitoring UI " melalui menu
File-> Open PVS-Studio Log ...Contoh:
Jika perlu, dari utilitas ini Anda dapat mengekspor laporan ke salah satu format yang didukung melalui menu
File .
Standar MISRA
PVS-Studio mengklasifikasikan peringatan menurut
CWE dan
SEI CERT , yang cocok untuk pengujian keamanan statis (
SAST ) dari aplikasi biasa. Namun, sistem tertanam memiliki persyaratan keamanan yang sedikit berbeda yang dicakup oleh standar
MISRA yang dikembangkan secara khusus. Versi analisa saat ini mendukung bagian dari aturan dari MISRA C dan MISRA C ++, daftar diagnostik dapat dilihat di
sini , dan terus berkembang.
Penggunaan aturan MISRA saat memeriksa proyek yang tidak dimaksudkan untuk disematkan seringkali tidak dapat dibenarkan. Ini karena spesifikasi standar. Dalam kebanyakan kasus, jika kode ini awalnya tidak ditulis dengan harapan kepatuhan MISRA, akan ada banyak peringatan palsu dan tidak berguna selama pemeriksaan. Oleh karena itu, aturan MISRA dinonaktifkan secara default.
Untuk mengaktifkan analisis MISRA di Linux, Anda perlu menjalankan analisis dengan tombol
-a dan meneruskan parameter numerik yang menetapkan mode yang diperlukan. Parameter ini adalah kombinasi bidang bit:
-a [MODE], --analysis-mode [MODE] MODE defines the type of warnings: 1 - 64-bit errors; 2 - reserved; 4 - General Analysis; 8 - Micro-optimizations; 16 - Customers Specific Requests; 32 - MISRA. Modes can be combined by adding the values Default: 4
Contoh peluncuran (termasuk diagnostik GA dan MISRA):
pvs-studio-analyzer analyze -a 36 -o /path/report.log
Saat menggunakan
plog-converter , Anda juga harus menunjukkan bahwa diagnostik MISRA harus
dimasukkan dalam laporan:
plog-converter -a MISRA:1,2,3 -m misra ....
Di bawah Windows, Anda dapat menggunakan dialog pengaturan utilitas "
C dan C ++ Compiler Monitoring UI ":
Rincian lebih lanjut tentang dukungan MISRA dijelaskan dalam artikel "
PVS-Studio: Dukungan untuk MISRA C dan MISRA C ++ Standar Pengkodean ".
Kesimpulan
Dalam artikel ini, kami meninjau kemampuan penganalisa PVS-Studio untuk menguji proyek yang berfokus pada sistem tertanam. Jika Anda memerlukan informasi lebih rinci tentang cara menggunakan analisa, saya sarankan membaca artikel berikut:

Jika Anda ingin berbagi artikel ini dengan audiens yang berbahasa Inggris, silakan gunakan tautan ke terjemahan: Yuri Minaev.
Menggunakan PVS-Studio Static Analyzer dalam Pengembangan C dan C ++ untuk Sistem Tertanam