Keluaran cppcheck 2.7, penganalisis kod statik untuk bahasa C++ dan C

Versi baharu penganalisis kod statik cppcheck 2.7 telah dikeluarkan, yang membolehkan anda mengenal pasti pelbagai kelas ralat dalam kod dalam bahasa C dan C++, termasuk apabila menggunakan sintaks bukan standard, tipikal untuk sistem terbenam. Koleksi pemalam disediakan di mana cppcheck disepadukan dengan pelbagai pembangunan, penyepaduan berterusan dan sistem ujian, dan juga menyediakan ciri seperti menyemak pematuhan kod dengan gaya kod. Untuk menghuraikan kod, anda boleh menggunakan sama ada penghurai anda sendiri atau penghurai luaran daripada Clang. Ia juga termasuk skrip donate-cpu.py untuk menyediakan sumber tempatan untuk melakukan kerja semakan kod kerjasama untuk pakej Debian. Kod sumber projek diedarkan di bawah lesen GPLv3.

Pembangunan cppcheck tertumpu pada mengenal pasti masalah yang berkaitan dengan tingkah laku yang tidak ditentukan dan penggunaan reka bentuk yang berbahaya dari sudut keselamatan. Matlamatnya juga adalah untuk meminimumkan positif palsu. Antara masalah yang dikenal pasti: penunjuk kepada objek yang tidak wujud, pembahagian dengan sifar, limpahan integer, operasi peralihan bit yang tidak betul, penukaran yang salah, masalah semasa bekerja dengan ingatan, penggunaan STL yang salah, penolakan penunjuk nol, penggunaan semakan selepas akses sebenar kepada penimbal, penimbal overruns , penggunaan pembolehubah tidak dimulakan.

Secara selari, syarikat Sweden Cppcheck Solutions AB sedang membangunkan versi lanjutan Cppcheck Premium, yang menyediakan analisis kehadiran gelung tak terhingga, carian yang lebih baik untuk pembolehubah tidak diinisialisasi dan analisis limpahan penimbal lanjutan.

Dalam versi baharu:

  • Menambah sokongan untuk paparan bekas - atribut paparan telah ditambahkan pada teg pustaka, menunjukkan bahawa kelas ialah paparan. Kod analisis seumur hidup telah dikemas kini untuk menggunakan atribut ini apabila mencari bekas berjuntai;
  • Pemeriksaan yang lebih baik;
  • Ralat terkumpul telah diperbetulkan dan kekurangan dalam penganalisis telah dihapuskan.

Sumber: opennet.ru

Tambah komen