Byla vydána nová verze statického analyzátoru kódu cppcheck 2.7, která umožňuje odhalovat různé typy chyb v kódu v jazycích C a C++, včetně použití nestandardní syntaxe typické pro vestavěné systémy. Je poskytována kolekce pluginů, které zajišťují integraci cppcheck s různými vývojovými, kontinuálními integračními a testovacími systémy, a také jsou nabízeny funkce, jako je kontrola souladu kódu se stylem kódování. Pro analýzu kódu může být použit jak vlastní parser, tak externí parser od Clang. Součástí je také skript donate-cpu.py pro poskytování lokálních zdrojů pro provádění společného přezkumu kódu balíčků Debian. Zdrojové kódy projektu jsou distribuovány pod licencí GPLv3.
Rozvoj cppcheck se soustředí na odhalování problémů spojených s neurčitým chováním a používáním konstrukcí nebezpečných z hlediska bezpečnosti. Cílem je také minimalizace falešných poplachů. Mezi odhalované problémy patří: ukazatele na neexistující objekty, dělení nulou, přetečení celých čísel, nesprávné operace s bitovým posunem, nesprávné převody, problémy s pamětí, nesprávné používání STL, dereferencování nulových ukazatelů, aplikace kontrol po skutečném přístupu do buffera, překročení hranic bufferů, použití neinitializovaných proměnných.
Současně švédská firma Cppcheck Solutions AB vyvíjí rozšířenou verzi Cppcheck Premium, která zajišťuje analýzu přítomnosti nekonečných cyklů, vylepšené vyhledávání neinitializovaných proměnných a rozšířenou analýzu přetečení bufferů.
V nové verzi:
- Byla přidána podpora pro zobrazení (view) kontejnerů — do tagu knihovny byl přidán atribut view, který označuje, že třída je zobrazením. Kód analýzy doby života byl aktualizován k využití tohoto atributu při hledání "visících" kontejnerů;
- Byly vylepšeny kontroly;
- Byly opraveny nahromaděné chyby a odstraněny nedostatky analyzátoru.
Zdroj: opennet.ru
