Izšla je nova različica statičnega analizatorja kode cppcheck 2.7, ki omogoča odkrivanje različnih razredov napak v kodi v jezikih C in C++, tudi ob uporabi nestandardne sintakse, tipične za vdelane sisteme. Na voljo je zbirka razširitev, preko katerih je omogočena integracija cppcheck z različnimi sistemi za razvoj, neprekinjeno integracijo in testiranje, prav tako pa so na voljo možnosti, kot so preverjanje skladnosti kode s stilom oblikovanja kode. Za analizo kode se lahko uporablja tako lastni parser kot tudi zunanji parser od Clang. Vključen je tudi skript donate-cpu.py za zagotavljanje lokalnih virov za izvedbo dela pri skupni analizi kode paketov Debian. Izvorne kode projekta so na voljo pod licenco GPLv3.
Razvoj cppcheck-a se osredotoča na odkrivanje težav, povezanih z nedoločeno obnašanjem in uporabo konstrukcij, nevarnih z vidika varnosti. Cilj je tudi minimiziranje lažnih sprožitev. Med odkritimi težavami so: kazalci na neobstoječe objekte, deljenja nul, celoštevilska prenapolnjenja, nepravilne operacije bitnega premika, nepravilne pretvorbe, težave pri delu z pomnilnikom, nepravilna uporaba STL, dereferenciranje nul referenc, uporaba preverjanj po dejanskem dostopu do pomnilnika, preseganje mej pomnilnika, uporaba neinitializiranih spremenljivk.
Vzporedno švedska firma Cppcheck Solutions AB razvija razširjeno različico Cppcheck Premium, ki zagotavlja analizo prisotnosti neskončnih ciklov, izboljšano iskanje neinitializiranih spremenljivk in razširjeno analizo prenapolnjenja pomnilnika.
V novi različici:
- Dodana je podpora za poglede (view) kontejnerjev — v oznako knjižnice je dodana atribut view, ki označuje, da je razred pogled. Koda za analizo življenjske dobe je bila posodobljena, da uporablja ta atribut pri iskanju 'visecih' kontejnerjev;
- Izboljšani so pregledi;
- Popravljene so bile nakopičene napake in odpravljene pomanjkljivosti analizatorja.
Izvor: opennet.ru
