cppcheck 2.6 kaleratzea, C++ eta C lengoaietarako kode estatikoko analizatzailea

Cppcheck 2.6 kode estatikoko analizatzailearen bertsio berri bat kaleratu da, C eta C++ lengoaietan kodeko errore-klase ezberdinak identifikatzea ahalbidetzen duena, sistema txertatuetan ohikoa ez den sintaxia ez-estandarra erabiltzean barne. Plugin-bilduma bat eskaintzen da, zeinaren bidez cppcheck garapen, etengabeko integrazio eta proba-sistemekin integratzen den, eta kode-estiloarekin kodea betetzen dela egiaztatzea bezalako ezaugarriak ere eskaintzen ditu. Kodea analizatzeko, zure analizatzailea edo Clang-eko kanpoko analizatzailea erabil dezakezu. Donate-cpu.py script-a ere barne hartzen du Debian paketeen kodeen berrikuspen lana egiteko tokiko baliabideak eskaintzeko. Proiektuaren iturburu-kodea GPLv3 lizentziapean banatzen da.

cppcheck-en garapena definiziorik gabeko portaerarekin lotutako arazoak identifikatzea eta segurtasunaren ikuspuntutik arriskutsuak diren diseinuak erabiltzera bideratzen da. Helburua positibo faltsuak gutxitzea ere bada. Identifikatutako arazoen artean: existitzen ez diren objektuen erakusleak, zeroren arteko zatiketak, osoko gainezkatzea, bit-aldaketa eragiketa okerrak, bihurketa okerrak, memoriarekin lan egitean arazoak, STLren erabilera okerra, erakusle nuluaren deserreferentziak, egiazko sarbidearen ondoren egiaztapenen erabilera. Bufferera, buffer gainditzeak, hasieratu gabeko aldagaien erabilera.

Bertsio berrian:

  • Honako egiaztapen hauek gehitu dira analizatzailearen nukleoan:
    • itzulera-operadorerik eza funtzioaren gorputzean;
    • gainjarritako datuak erregistratzen ditu, zehaztu gabeko portaera zehazten du;
    • konparatzen ari den balioa motaren balio-irudikapenetik kanpo dago;
    • kopiaren optimizazioa ez da aplikatzen std::move(local) itzultzeko;
    • fitxategia ezin da aldi berean ireki korronte ezberdinetan irakurtzeko eta idazteko (korrontea);
  • Unix plataformetarako, diagnostiko mezuak kolore ezberdinetan bistaratzeko laguntza gehitu da;
  • analisi sinbolikoa gehitu da ValueFlow-erako. Delta sinplea erabiltzen du bi aldagai ezezagunen arteko aldea kalkulatzerakoan;
  • "Definitu" token-zerrendarako erabiltzen diren arauak #include ere etor daitezke;
  • liburutegiko etiketa orain etiketa bat eduki dezake , eta horren arabera doako funtzioak, std::size, std::empty, std::begin, std::end, etab. konektoreentzako yeld edo ekintza zehaztu dezake;
  • liburutegiko etiketa orain etiketa bat eduki dezake jabetza berezia duten erakusle adimendunetarako. Erakusle adimendun mota hauen erreferentziak zintzilik daudenei buruzko abisua ematen da orain;
  • β€”cppcheck-build-dir parametroa prozesatzeko arazoak konpondu ditu;
  • htmlreport-ek egileari buruzko informazioa bistaratu dezake orain (git blame erabiliz);
  • konstanteak ez diren, baina izan daitezkeen aldagaiei buruzko abisu luzatuak;
  • Analizatzailearen metatutako akatsak eta akatsak zuzendu dira.

Gainera, Misra C 2012ko egiaztapenak, 1. eta 2. zuzenketa barne, guztiz ezarri dira, 1.1, 1.2 eta 17.3 arauak izan ezik. 1.1 eta 1.2 egiaztapenak konpilatzaileak egin behar ditu. 17.3 egiaztapena GCC bezalako konpiladore batek egin dezake.

Iturria: opennet.ru

Gehitu iruzkin berria