Nova verzija cppchecka 2.6 već je objavljena i ovo su njegove vijesti

Izdanje verzija statičkog analizatora koda cppcheck 2.6Da omogućuje otkrivanje različitih vrsta pogrešaka u kodu C i C ++čak i kad se koristi nestandardna sintaksa tipična za ugrađene sustave.

Omogućena je zbirka dodataka putem kojih je omogućena integracija cppchecka s različitim razvojnim, kontinuiranim integracijskim i testnim sustavima, kao i značajke poput provjere usklađenosti koda sa stilom kodiranja.

Za analizu koda, možete koristiti i svoj parser i vanjski Clang parser. Također uključuje skriptu donate-cpu.py za pružanje lokalnih resursa za suradnički pregled koda za Debian pakete.

Razvoj cppchecka usredotočuje se na identificiranje problema povezanih s nedefiniranim ponašanjem te korištenje konstrukcija koje su opasne sa stajališta sigurnosti.

Cilj je također smanjiti lažno pozitivne rezultate. Među identificiranim problemima: pokazivači na nepostojeće objekte, podjela nulom, preljevi cijelih brojeva, netočne operacije pomaka bitova, netočne pretvorbe, problemi s memorijom, pogrešna upotreba STL-a, dereferenciranje nultih pokazivača, primjena provjera nakon pristupa stvarnom u međuspremnik , prelijevajući granice međuspremnika, koristeći neinicijalizirane varijable.

Glavne nove značajke cppchecka 2.6

U ovoj novoj verziji se smo dodali razne provjere jezgri raščlanjivača, među kojima se ističe provjera nepostojanja povratne deklaracije u tijelu funkcije, kao i preklapanje zapisa podataka, nedefiniranih definicija ponašanja, a također i provjera vrijednosti koja se uspoređuje je izvan raspona prikaza vrijednosti tipa.

Još jedna novost koja se ističe je optimizacija kopije ne vrijedi za vraćanje std :: move (lokalno);, plus dodana je podrška za prikazivanje dijagnostičkih poruka u različitim bojama za Unix platforme i oznaku knjižnice sada može sadržavati oznaku za pametne pokazivače koji imaju jedinstvena svojstva. Ovim vrstama pametnih pokazivača sada se izdaje upozorenje o zbunjujućoj vezi.

Osim toga, Kontrole Misra C 2012 u potpunosti su provedene, uključujući Amandman 1 i Amandman 2, osim pravila 1.1, 1.2 i 17.3. Prevoditelj treba izvršiti provjere 1.1 i 1.2. Prevodilac poput GCC -a može provjeriti 17.3.

Od ostalih promjena koje se ističu ove nove verzije:

  • Datoteka se ne može otvoriti istovremeno za čitanje i pisanje u različitim tokovima;
  • Dodana je simbolična analiza za ValueFlow. Jednostavna delta koristi se pri izračunavanju razlike između dvije nepoznate varijable;
  • Pravila koja se koriste za popis oznaka "define" također se mogu podudarati s #include;
  • Oznaka knjižnice sada može sadržavati oznaku a time i besplatne funkcije koje mogu prihvatiti spremnike poput std :: size, std :: empty, std :: begin, std :: end itd. možete navesti vikanje ili radnju za spremnike;
  • Ispravljeni problemi s rukovanjem parametrom –cppcheck-build-dir;
    htmlreport sada može ispisivati ​​podatke o autoru (koristeći git krivi);
  • Prošireno izdavanje upozorenja o varijablama koje nisu konstantne, ali mogu postati konstantne;
  • Akumulirane greške i nedostaci analizatora su popravljeni.

Konačno, ako vas zanima više o ovoj novoj verziji, možete se posavjetovati pojedinosti na sljedećem linku.

Kako instalirati cppcheck na Linux?

Za one koji su zainteresirani za instaliranje cppchecka na svoju distribuciju Linuxa, mogu slijediti upute koje dijelimo u nastavku.

Ako ste korisnik Debiana ili bilo koje druge distribucije koja se temelji ili izvodi iz njega, kao što su Deepin ili Ubuntu, možete instalirati izravno s terminala upisivanjem sljedeće naredbe:

sudo apt-get install cppcheck

Sada oni koji su korisnici Fedore i oni izvedeni iz nje, mogu izvršiti instalaciju upisivanjem sljedeće naredbe:

sudo yum instalar cppcheck

Ili za one koji su korisnici Arch Linuxa ili bilo kojeg drugog izvedenca, mogu ga instalirati sa sljedećom naredbom:

sudo pacman -S cppcheck


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.