Vydání cppcheck 2.7, statického analyzátoru kódu pro jazyky C++ a C

Byla vydána nová verze analyzátoru statického kódu cppcheck 2.7, která umožňuje identifikovat různé třídy 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 sbírka zásuvných modulů, jejichž prostřednictvím je cppcheck integrován s různými vývojovými, průběžnými integračními a testovacími systémy a také poskytuje takové funkce, jako je kontrola souladu kódu se stylem kódu. K analýze kódu můžete použít svůj vlastní analyzátor nebo externí analyzátor od Clang. Zahrnuje také skript donate-cpu.py, který poskytuje místní zdroje pro práci na společné kontrole kódu pro balíčky Debianu. Zdrojový kód projektu je šířen pod licencí GPLv3.

Vývoj cppcheck je zaměřen na identifikaci problémů spojených s nedefinovaným chováním a používáním návrhů, které jsou z bezpečnostního hlediska nebezpečné. Cílem je také minimalizovat falešné poplachy. Mezi identifikované problémy: ukazatele na neexistující objekty, dělení nulou, přetečení celých čísel, nesprávné operace bitového posunu, nesprávné převody, problémy při práci s pamětí, nesprávné použití STL, dereference nulového ukazatele, použití kontrol po skutečném přístupu do vyrovnávací paměti, přetečení vyrovnávací paměti, použití neinicializovaných proměnných.

Současně švédská společnost Cppcheck Solutions AB vyvíjí rozšířenou verzi Cppcheck Premium, která poskytuje analýzu přítomnosti nekonečných smyček, vylepšené vyhledávání neinicializovaných proměnných a pokročilou analýzu přetečení vyrovnávací paměti.

V nové verzi:

  • Přidána podpora zobrazení kontejnerů – do značky knihovny byl přidán atribut view, který označuje, že třída je zobrazení. Kód analýzy životnosti byl aktualizován tak, aby používal tento atribut při hledání visících kontejnerů;
  • Vylepšené kontroly;
  • Nahromaděné chyby byly opraveny a nedostatky v analyzátoru byly odstraněny.

Zdroj: opennet.ru

Přidat komentář