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