
Artikel ini akan memberi tahu Anda cara meluncurkan analisis proyek tertanam dan cara bekerja dengan laporan penganalisa. Alat analisa PVS-Studio mendukung sejumlah kompiler untuk sistem embedded. Versi saat ini memungkinkan memeriksa proyek yang dibangun dengan salah satu kompiler berikut di bawah Window, Linux, dan macOS:
Instalasi
Prosedur instalasi tergantung pada sistem operasi yang Anda gunakan dalam pengembangan. Di Linux, Anda dapat menginstal penganalisis dari repositori, atau paket instalasi.
Misalnya, pada sistem berbasis Debian:
wget -q -O - https:
atau
sudo gdebi pvs-studio-VERSION.deb
Di bawah macOS, Anda dapat menggunakan
Homebrew untuk menginstal dan memperbarui:
brew install viva64/pvs-studio/pvs-studio brew upgrade pvs-studio
Pilihan lain - menginstal dari paket
dmg , atau membongkar dari arsip secara manual.
Di bawah Windows, Anda harus menggunakan penginstal:
Anda dapat mengunduh paket instalasi untuk setiap sistem yang didukung, serta meminta kunci percobaan, jika Anda memerlukannya, di halaman "
Unduh dan evaluasi PVS-Studio ".
Setelah instalasi selesai, Anda harus memasukkan kunci lisensi. Artikel dokumentasi "
Cara memasukkan Lisensi PVS-Studio dan langkah selanjutnya " menjelaskan proses ini secara terperinci sehubungan dengan berbagai platform.
Memeriksa proyek Anda
Memeriksa proyek yang dibangun untuk sistem tertanam mirip dengan memeriksa proyek yang dikembangkan untuk Windows, Linux, atau macOS.
Opsi yang tersedia di Linux dijelaskan dalam artikel "
Memulai dengan Analisis Statis PVS-Studio untuk Pengembangan C ++ di Linux ". Ingatlah bahwa proyek tersemat dikompilasi silang, dan kompiler Anda dapat memiliki nama yang tidak standar. Karena ini, Anda mungkin perlu menentukannya saat meluncurkan analisis, yang dapat Anda lakukan melalui kunci baris perintah
βcompiler , atau
βc .
pvs-studio-analyzer analyze -c MyCompiler
Menggunakannya diperlukan jika penganalisis tidak dapat mendeteksi tipe kompiler, yaitu, jika mengeluarkan kesalahan "Tidak ada unit kompilasi yang ditemukan".
Karena platform target berbeda dari pengembangan karena kompilasi silang, Anda mungkin juga perlu menentukan platform target melalui tombol
--platform , bersama dengan tipe preprocessor (
--preprocessor ).
Platform yang didukung:
win32, x64, linux32, linux64, macos, arm.Pendahulu yang didukung:
gcc, clang
, keil.Di Linux, platform
linux64 dan preprosesor
gcc adalah defaultnya.
Jika Anda menggunakan Windows, Anda dapat memeriksa proyek Anda dalam mode pemantauan kompiler. Untuk melakukannya, gunakan utilitas "
C and C ++ Compiler Monitoring UI ", yang disertakan dengan penganalisis. Untuk mulai memantau, buka menu
Alat dan pilih
Analisis File Anda ... Dialog ini akan terbuka:
Klik tombol "
Mulai Pemantauan " dan mulailah membangun proyek Anda. Ketika build selesai, klik tombol "
Stop Monitoring " di jendela dialog yang terletak di sudut kanan bawah layar:
Jendela utama utilitas "
C dan C ++ Compiler Monitoring UI " memungkinkan Anda untuk melihat hasil analisis.
Juga, dimungkinkan untuk memulai analisis dari baris perintah dengan menggunakan utilitas CLMonitor. Inilah perintah yang akan memulai pemantauan:
CLMonitor.exe monitor
Setelah membangun, mulai lagi dalam mode analisis:
CLMonitor.exe analyze -l "<path>\out.plog"
Penganalisa akan memeriksa proyek Anda dan menyimpan hasilnya ke file yang ditentukan melalui tombol
-l .
Lihat juga "
Sistem Pemantau Kompiler dalam PVS-Studio ".
Bekerja dengan Laporan
Untuk melihat laporan di Linux, Anda perlu mengonversi file log, yang dihasilkan oleh penganalisa, menjadi salah satu format yang didukung. Gunakan utilitas
plog-converter untuk melakukan ini. Misalnya, Anda dapat membuat laporan HTML, yang memungkinkan Anda untuk melihat kode sumber, dengan perintah ini:
plog-converter -a GA:1,2 -t fullhtml /path/project.log -o /path/report_dir
Konversi laporan dijelaskan secara lebih rinci dalam artikel "
Memulai dengan Penganalisis Statis PVS-Studio untuk Pengembangan C ++ di Linux ".
Versi Windows juga memiliki utilitas bernama
PlogConverter , yang serupa dalam penggunaannya dengan Linux:
PlogConverter.exe <path>\out.plog --renderTypes= FullHtml --analyzer=GA:1,2
atau
PlogConverter.exe D:\Projct\out.plog -t FullHtml -a GA:1,2
Anda juga dapat melihat laporan dalam format
plog dengan utilitas "
C dan C ++ Compiler Monitoring UI " melalui perintah menu-
> Open PVS-Studio Log ....Contoh:
Jika perlu, Anda dapat mengekspor laporan ke salah satu format yang didukung melalui menu
File utilitas.
Misra standar pengodean
PVS-Studio mengklasifikasikan peringatannya menurut
CWE dan
SEI CERT , yang berfungsi cukup baik untuk pengujian keamanan statis (
SAST ) aplikasi biasa. Namun, sistem tertanam memiliki persyaratan keamanan yang berbeda, dicakup oleh standar
MISRA yang dikembangkan secara khusus. Versi PVS-Studio saat ini mendukung sebagian MISRA C dan MISRA C ++. Anda dapat melihat daftar aturan yang didukung yang diperluas secara berkala di
sini .
Menggunakan aturan MISRA ketika memeriksa proyek yang tidak tertanam biasanya merupakan ide yang buruk, karena spesifik standar. Dalam kebanyakan kasus, jika kode tersebut pada awalnya tidak berorientasi pada MISRA, pemeriksaan akan menghasilkan banyak kesalahan positif dan umumnya peringatan kebisingan. Dengan demikian, aturan MISRA dinonaktifkan secara default.
Untuk mengaktifkan MISRA di Linux, jalankan analisis dengan tombol
-a dan berikan parameter numerik, sesuai dengan mode yang diinginkan. 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 (dengan aturan GA dan MISRA diaktifkan):
pvs-studio-analyzer analyze -a 36 -o /path/report.log
Anda juga perlu memberi tahu
plog-converter untuk memasukkan peringatan MISRA dalam laporan yang dihasilkan:
plog-converter -a MISRA:1,2,3 -m misra ....
Di Windows, Anda dapat menggunakan pengaturan utilitas "
C dan C ++ Compiler Monitoring UI ":
Lihat artikel "
PVS-Studio: Dukungan MISRA C dan MISRA C ++ Standar Pengkodean " untuk mempelajari lebih lanjut tentang dukungan MISRA.
Kesimpulan
Dalam artikel ini, kami telah membahas secara singkat fitur-fitur penganalisa PVS-Studio untuk memeriksa proyek-proyek bertarget tertanam. Jika Anda memerlukan informasi lebih lanjut tentang penggunaan analisa, saya sarankan Anda merujuk ke artikel berikut: