Lansarea cppcheck 2.7, un analizor de cod static pentru limbajele C++ și C

A fost lansată o nouă versiune a analizorului de cod static cppcheck 2.7, care vă permite să identificați diferite clase de erori de cod în limbajele C și C++, inclusiv atunci când utilizați sintaxa non-standard, tipică pentru sistemele încorporate. Este furnizată o colecție de pluginuri prin care cppcheck este integrat cu diverse sisteme de dezvoltare, integrare continuă și testare și oferă, de asemenea, caracteristici precum verificarea conformității codului cu stilul de cod. Pentru a analiza codul, puteți utiliza fie propriul dvs. parser, fie un parser extern de la Clang. Include, de asemenea, scriptul donate-cpu.py pentru a oferi resurse locale pentru a face munca de colaborare de revizuire a codului pentru pachetele Debian. Codul sursă al proiectului este distribuit sub licența GPLv3.

Dezvoltarea cppcheck este axată pe identificarea problemelor asociate cu comportamentul nedefinit și utilizarea modelelor care sunt periculoase din punct de vedere al siguranței. Scopul este, de asemenea, de a minimiza falsul pozitiv. Printre problemele identificate: pointeri către obiecte inexistente, împărțiri cu zero, depășiri întregi, operații incorecte de deplasare a biților, conversii incorecte, probleme la lucrul cu memoria, utilizarea incorectă a STL, dereferințe de pointer nul, utilizarea verificărilor după accesul efectiv la buffer, depășiri de buffer, utilizarea variabilelor neinițializate.

În paralel, compania suedeză Cppcheck Solutions AB dezvoltă o versiune extinsă a Cppcheck Premium, care oferă o analiză a prezenței buclelor infinite, o căutare îmbunătățită pentru variabile neinițializate și o analiză avansată a depășirii tamponului.

În noua versiune:

  • S-a adăugat suport pentru vizualizări ale containerelor - atributul view a fost adăugat la eticheta bibliotecii, indicând faptul că clasa este o vizualizare. Codul de analiză a duratei de viață a fost actualizat pentru a utiliza acest atribut atunci când căutați containere suspendate;
  • Verificări îmbunătățite;
  • Erorile acumulate au fost corectate și deficiențele analizorului au fost eliminate.

Sursa: opennet.ru

Adauga un comentariu