Lëshimi i cppcheck 2.7, një analizues statik i kodit për gjuhët C++ dhe C

Është lëshuar një version i ri i analizuesit statik të kodit cppcheck 2.7, i cili ju lejon të identifikoni klasa të ndryshme gabimesh në kod në gjuhët C dhe C++, duke përfshirë përdorimin e sintaksës jo standarde, tipike për sistemet e ngulitura. Ofrohet një koleksion shtojcash përmes të cilave cppcheck integrohet me sisteme të ndryshme zhvillimi, integrimi të vazhdueshëm dhe testimi, si dhe ofron veçori të tilla si kontrollimi i përputhshmërisë së kodit me stilin e kodit. Për të analizuar kodin, mund të përdorni ose analizuesin tuaj ose një analizues të jashtëm nga Clang. Ai gjithashtu përfshin skriptin donate-cpu.py për të ofruar burime lokale për të bërë punën e shqyrtimit të kodit bashkëpunues për paketat Debian. Kodi burimor i projektit shpërndahet nën licencën GPLv3.

Zhvillimi i cppcheck fokusohet në identifikimin e problemeve që lidhen me sjelljen e papërcaktuar dhe përdorimin e modeleve që janë të rrezikshme nga pikëpamja e sigurisë. Qëllimi është gjithashtu të minimizohen pozitivet e rreme. Ndër problemet e identifikuara: treguesit e objekteve joekzistente, pjesëtimet me zero, tejkalimet e numrave të plotë, operacionet e pasakta të zhvendosjes së biteve, konvertimet e pasakta, problemet gjatë punës me memorien, përdorimi i gabuar i STL, mosreferencat e treguesit null, përdorimi i kontrolleve pas aksesit aktual. te buferi, tejkalimet e tamponit, përdorimi i variablave të pa inicializuar.

Paralelisht, kompania suedeze Cppcheck Solutions AB po zhvillon një version të zgjeruar të Cppcheck Premium, i cili ofron analizë të pranisë së sytheve të pafundme, kërkim të përmirësuar për variabla të pa inicializuar dhe analizë të avancuar të tejmbushjes së tamponit.

Në versionin e ri:

  • Mbështetje e shtuar për pamjet e kontejnerëve - atributi view është shtuar në etiketën e bibliotekës, duke treguar që klasa është një pamje. Kodi i analizës së jetëgjatësisë është përditësuar për të përdorur këtë atribut kur kërkoni për kontejnerë të varur;
  • Kontrolle të përmirësuara;
  • Gabimet e grumbulluara janë korrigjuar dhe mangësitë në analizues janë eliminuar.

Burimi: opennet.ru

Shto një koment