Išleistas cppcheck 2.7, statinis kodų analizatorius C++ ir C kalboms

Išleista nauja statinio kodo analizatoriaus cppcheck 2.7 versija, leidžianti identifikuoti įvairias C ir C++ kalbų kodo klaidas, taip pat ir naudojant nestandartinę sintaksę, būdingą įterptinėms sistemoms. Pateikiamas papildinių rinkinys, per kurį cppcheck yra integruotas su įvairiomis kūrimo, nuolatinio integravimo ir testavimo sistemomis, taip pat suteikia tokias funkcijas kaip kodo atitikties kodo stiliui tikrinimas. Norėdami išanalizuoti kodą, galite naudoti savo arba išorinį analizatorių iš Clang. Jame taip pat yra scenarijus donate-cpu.py, suteikiantis vietinius išteklius bendrai Debian paketų kodo peržiūrai atlikti. Projekto šaltinio kodas platinamas pagal GPLv3 licenciją.

Kuriant cppcheck, pagrindinis dėmesys skiriamas problemų, susijusių su neapibrėžtu elgesiu ir saugos požiūriu pavojingų konstrukcijų naudojimu, nustatymui. Taip pat siekiama sumažinti klaidingų teigiamų rezultatų skaičių. Tarp nustatytų problemų: rodyklės į neegzistuojančius objektus, padalijimas iš nulio, sveikųjų skaičių perpildymas, neteisingos bitų poslinkio operacijos, neteisingos konversijos, problemos dirbant su atmintimi, neteisingas STL naudojimas, nulinės rodyklės nuorodos, patikrinimų naudojimas po faktinės prieigos į buferį, buferio viršijimas, nepainicijuotų kintamųjų naudojimas.

Lygiagrečiai Švedijos įmonė Cppcheck Solutions AB kuria išplėstinę Cppcheck Premium versiją, kurioje pateikiama begalinių ciklų buvimo analizė, patobulinta neinicializuotų kintamųjų paieška ir pažangi buferio perpildymo analizė.

Naujoje versijoje:

  • Pridėtas konteinerių rodinių palaikymas – prie bibliotekos žymos pridėtas rodinio atributas, nurodantis, kad klasė yra rodinys. Visą gyvenimą trunkantis analizės kodas buvo atnaujintas, kad šis atributas būtų naudojamas ieškant kabančių konteinerių;
  • Patobulinti patikrinimai;
  • Ištaisytos susikaupusios klaidos ir pašalinti analizatoriaus trūkumai.

Šaltinis: opennet.ru

Добавить комментарий