Julkaistiin cppcheck 2.7, staattinen koodianalysaattori C++- ja C-kielille

Staattisen koodin analysaattorin cppcheck 2.7 on julkaistu uusi versio, jonka avulla voit tunnistaa erilaisia ​​virheluokkia C- ja C++-kielissä, myös käytettäessä sulautetuille järjestelmille tyypillistä epästandardista syntaksia. Tarjolla on kokoelma laajennuksia, joiden kautta cppcheck on integroitu erilaisiin kehitys-, jatkuvaan integrointi- ja testausjärjestelmiin ja tarjoaa myös sellaisia ​​ominaisuuksia kuin koodin yhteensopivuuden tarkistaminen koodityylin kanssa. Voit jäsentää koodia joko omalla jäsentimelläsi tai ulkoisella Clangin jäsentimellä. Se sisältää myös komentosarjan donate-cpu.py, joka tarjoaa paikallisia resursseja Debian-pakettien yhteiskäyttöön tarkoitetun koodintarkistustyön tekemiseen. Projektin lähdekoodia jaetaan GPLv3-lisenssillä.

cppcheckin kehitystyössä keskitytään määrittelemättömään käyttäytymiseen liittyvien ongelmien tunnistamiseen ja turvallisuuden kannalta vaarallisten mallien käyttöön. Tavoitteena on myös minimoida vääriä positiivisia. Tunnistettujen ongelmien joukossa: osoittimet olemattomiin objekteihin, jako nollalla, kokonaislukujen ylivuoto, virheelliset bitinsiirtotoiminnot, väärät muunnokset, muistin kanssa työskentelyn ongelmat, STL:n virheellinen käyttö, nollaosoittimen viittaukset, tarkistusten käyttö varsinaisen pääsyn jälkeen puskuriin, puskurin ylitykset, alustamattomien muuttujien käyttö.

Samanaikaisesti ruotsalainen Cppcheck Solutions AB kehittää laajennettua versiota Cppcheck Premiumista, joka tarjoaa analyysin äärettömien silmukoiden esiintymisestä, parannetun alustamattomien muuttujien etsinnän ja edistyneen puskurin ylivuotoanalyysin.

Uudessa versiossa:

  • Lisätty tuki säilöjen näkymille – view-attribuutti on lisätty kirjastotunnisteeseen, mikä osoittaa, että luokka on näkymä. Elinikäinen analyysikoodi on päivitetty käyttämään tätä attribuuttia, kun etsitään roikkuvia säiliöitä.
  • Parannetut tarkastukset;
  • Kerääntyneet virheet on korjattu ja analysaattorin puutteet on poistettu.

Lähde: opennet.ru

Lisää kommentti