Megjelent a cppcheck 2.7 statikus kódelemző új verziója, amely lehetővé teszi a C és C++ nyelvű kódban előforduló különféle hibaosztályok azonosítását, beleértve a beágyazott rendszerekre jellemző, nem szabványos szintaxist is. A beépülő modulok gyűjteményét biztosítjuk, amelyen keresztül a cppcheck integrálva van különféle fejlesztési, folyamatos integrációs és tesztelési rendszerekkel, és olyan funkciókat is biztosít, mint a kód megfelelőségének ellenőrzése a kódstílussal. A kód elemzéséhez használhatja a saját értelmezőjét vagy a Clang külső értelmezőjét. Tartalmazza a donate-cpu.py szkriptet is, amely helyi erőforrásokat biztosít a Debian csomagok együttműködési kódellenőrzéséhez. A projekt forráskódja a GPLv3 licenc alatt kerül terjesztésre.
A cppcheck fejlesztése a meghatározatlan viselkedéssel és a biztonsági szempontból veszélyes tervek használatával kapcsolatos problémák azonosítására összpontosít. A cél az is, hogy minimálisra csökkentsük a hamis pozitívumot. Az azonosított problémák között szerepel: nem létező objektumokra mutató mutatók, nullával való osztás, egész szám túlcsordulás, hibás biteltolási műveletek, hibás konverziók, problémák a memóriával való munka során, nem megfelelő STL használat, null pointer hivatkozások, ellenőrzések használata a tényleges hozzáférés után pufferhez, puffertúllépések, inicializálatlan változók használata.
Ezzel párhuzamosan a svéd Cppcheck Solutions AB cég a Cppcheck Premium kiterjesztett változatát fejleszti, amely elemzi a végtelen hurkok jelenlétét, javítja az inicializálatlan változók keresését és fejlett puffertúlcsordulás-elemzést.
Az új verzióban:
- Hozzáadott támogatás a tárolók nézeteihez – a view attribútumot hozzáadtuk a könyvtár címkéjéhez, jelezve, hogy az osztály egy nézet. Az élettartam-elemző kódot frissítettük, hogy ezt az attribútumot használja a lelógó tárolók keresésekor;
- Továbbfejlesztett ellenőrzések;
- A felgyülemlett hibákat kijavították és az analizátor hiányosságait kiküszöbölték.
Forrás: opennet.ru