Megjelent a cppcheck 2.7 új verziója, amely képes különböző hibakategóriákat azonosítani a C és C++ nyelven írt kódban, beleértve a beágyazott rendszerekre jellemző nem szabványos szintaxist is. A cppcheck integrációját különböző fejlesztőrendszerekkel, folyamatos integrációs és tesztelő rendszerekkel biztosító bővítmények gyűjteménye áll rendelkezésre, emellett olyan lehetőségek is elérhetők, mint a kódstílusnak való megfelelés ellenőrzése. A kód elemzésére saját parser vagy a Clang külső parsera használható. A csomag részeként elérhető a donate-cpu.py script is, amely lehetővé teszi a helyi erőforrások biztosítását Debian csomagok közös kódellenőrzése során. A projekt forráskódja GPLv3 licenc alatt terjesztett.
A cppcheck fejlődése a határozatlan viselkedés és a biztonsági szempontból veszélyes konstrukciók azonosítására összpontosít. Célja a hamis riasztások minimalizálása is. Azonosított problémák közé tartoznak: nem létező objektumok mutatói, nullával való osztások, egész számok túltöltése, hibás biteltolási műveletek, hibás átalakítások, memóriahasználati problémák, STL hibás használata, nullpointerek dereferálása, ellenőrzések alkalmazása a pufferművelet után, pufferek túllépése, nem inicializált változók használata.
Párhuzamosan a svéd Cppcheck Solutions AB cég egy fejlettebb Cppcheck Premium verziót is fejleszt, amely biztosítja a végtelen ciklusok jelenlétének analízisét, a nem inicializált változók jobb keresését és a puffertúlcsordulás kiterjesztett elemzését.
Az új verzióban:
- Támogatás kerül bevezetésre a konténernézetek (view) számára — a könyvtár címkéhez hozzáadva egy view attribútum, amely jelzi, hogy az osztály nézet. Az élettartam-elemző kód frissítve lett, hogy ezt az attribútumot használja a "lógó" konténerek keresése során.
- Javított ellenőrzések;
- Javították a felhalmozódott hibákat és a analizáló hibáit.
Forrás: opennet.ru
