Izdanje cppcheck 2.7, statičkog analizatora koda za C++ i C jezike

Objavljena je nova verzija statičkog analizatora koda cppcheck 2.7, koja vam omogućava da identifikujete različite klase grešaka u kodu u jezicima C i C++, uključujući i upotrebu nestandardne sintakse, tipične za ugrađene sisteme. Obezbeđena je kolekcija dodataka preko kojih je cppcheck integrisan sa različitim sistemima za razvoj, kontinuiranu integraciju i testiranje, a takođe pruža funkcije kao što je provera usklađenosti koda sa stilom koda. Za raščlanjivanje koda možete koristiti ili vlastiti parser ili vanjski parser iz Clanga. Također uključuje donate-cpu.py skriptu za pružanje lokalnih resursa za obavljanje kolaborativnog pregleda koda za Debian pakete. Izvorni kod projekta se distribuira pod GPLv3 licencom.

Razvoj cppcheck-a je fokusiran na identifikaciju problema povezanih s nedefiniranim ponašanjem i korištenjem dizajna koji su opasni sa sigurnosne točke gledišta. Cilj je i minimiziranje lažnih pozitivnih rezultata. Među identifikovanim problemima: pokazivači na nepostojeće objekte, dijeljenja nulom, prekoračenja cijelih brojeva, pogrešne operacije pomaka bita, pogrešne konverzije, problemi pri radu s memorijom, nepravilna upotreba STL-a, null pokazivača dereferenciranja, korištenje provjera nakon stvarnog pristupa u bafer, prekoračenje bafera, korištenje neinicijaliziranih varijabli.

Paralelno, švedska kompanija Cppcheck Solutions AB razvija proširenu verziju Cppcheck Premium, koja pruža analizu prisutnosti beskonačnih petlji, poboljšanu pretragu neinicijaliziranih varijabli i naprednu analizu prelivanja bafera.

U novoj verziji:

  • Dodata podrška za poglede kontejnera - atribut view je dodat u oznaku biblioteke, što ukazuje da je klasa pogled. Kôd za analizu vijeka trajanja je ažuriran da koristi ovaj atribut pri traženju visećih kontejnera;
  • Poboljšane provjere;
  • Nagomilane greške su ispravljene, a nedostaci u analizatoru su otklonjeni.

izvor: opennet.ru

Dodajte komentar