Vyšla nová verzia statického analyzátora kódu cppcheck 2.7, ktorá umožňuje odhaľovať rôzne triedy chýb v kóde v jazykoch C a C++, vrátane používania nestandardnej syntaxe typickej pre zabudované systémy. Poskytuje sa zbierka pluginov, prostredníctvom ktorých je zabezpečená integrácia cppcheck s rôznymi vývojovými systémami, systémami nepretržitej integrácie a testovania, ako aj sú poskytnuté také možnosti ako kontrola súladu kódu so štýlom kódovania. Na analýzu kódu môže byť použitý ako vlastný parser, tak aj externý parser od Clang. Súčasťou je aj skript donate-cpu.py na poskytovanie lokálnych zdrojov na vykonávanie práce na spoločnej kontrole kódu balíkov Debian. Zdrojové texty projektu sú distribuované pod licenciou GPLv3.
Rozvoj cppcheck sa sústreďuje na odhaľovanie problémov spojených s neurčitým správaním a používaním konštrukcií, ktoré sú nebezpečné z pohľadu bezpečnosti. Cieľom je tiež minimalizácia falošných pozitív. Medzi odhaľované problémy patrí: ukazovatele na neexistujúce objekty, delenia nulou, pretečenia celých čísel, nesprávne operácie posunu bitov, nesprávne konverzie, problémy pri práci s pamäťou, nesprávne používanie STL, dereferencovanie nulových ukazovateľov, používanie kontrol po skutočnom prístupe k vyrovnávacej pamäti, prekročenie hraníc vyrovnávacej pamäte, používanie neinitializovaných premenných.
Paralelne so švédskou firmou Cppcheck Solutions AB sa vyvíja rozšírená verzia Cppcheck Premium, ktorá zabezpečuje analýzu prítomnosti nekonečných cyklov, zlepšené vyhľadávanie neinitializovaných premenných a rozšírenú analýzu pretečenia vyrovnávacej pamäte.
V novej verzii:
- Pridala sa podpora pohľadov (view) kontajnerov — do tagu knižnice bol pridaný atribút view, ktorý naznačuje, že trieda je pohľadom. Kód analýzy doby života bol aktualizovaný na použitie tohto atribútu pri hľadaní "visiacich" kontajnerov.
- Zlepšili sa kontroly;
- Opravené nahromadené chyby a odstránené nedostatky analyzátora.
Zdroj: opennet.ru
