Paglabas ng cppcheck 2.7, isang static code analyzer para sa C++ at C na mga wika

Ang isang bagong bersyon ng static code analyzer cppcheck 2.7 ay inilabas, na nagbibigay-daan sa iyong tukuyin ang iba't ibang klase ng mga error sa code sa mga wikang C at C++, kabilang ang kapag gumagamit ng hindi karaniwang syntax, na karaniwan para sa mga naka-embed na system. Ang isang koleksyon ng mga plugin ay ibinigay kung saan ang cppcheck ay isinama sa iba't ibang pag-unlad, patuloy na pagsasama at mga sistema ng pagsubok, at nagbibigay din ng mga tampok tulad ng pagsuri sa pagsunod sa code sa istilo ng code. Upang i-parse ang code, maaari mong gamitin ang alinman sa iyong sariling parser o isang panlabas na parser mula sa Clang. Kasama rin dito ang donate-cpu.py na script upang magbigay ng mga lokal na mapagkukunan upang gumawa ng collaborative code review work para sa mga pakete ng Debian. Ang source code ng proyekto ay ipinamamahagi sa ilalim ng lisensya ng GPLv3.

Ang pagbuo ng cppcheck ay nakatuon sa pagtukoy ng mga problemang nauugnay sa hindi natukoy na pag-uugali at ang paggamit ng mga disenyo na mapanganib mula sa punto ng kaligtasan. Ang layunin din ay upang mabawasan ang mga maling positibo. Kabilang sa mga natukoy na problema: mga pointer sa mga di-umiiral na bagay, dibisyon sa pamamagitan ng zero, integer overflows, hindi tamang bit shift operations, hindi tamang conversion, mga problema kapag nagtatrabaho sa memorya, hindi tamang paggamit ng STL, null pointer dereferences, ang paggamit ng mga tseke pagkatapos ng aktwal na pag-access sa buffer, buffer overruns , paggamit ng mga uninitialized na variable.

Kasabay nito, ang kumpanyang Swedish na Cppcheck Solutions AB ay bumubuo ng isang pinahabang bersyon ng Cppcheck Premium, na nagbibigay ng pagsusuri sa pagkakaroon ng walang katapusang mga loop, pinahusay na paghahanap para sa mga hindi nasimulang variable at advanced na pagsusuri ng mga buffer overflow.

Sa bagong bersyon:

  • Nagdagdag ng suporta para sa mga view ng mga container - ang view na attribute ay naidagdag sa tag ng library, na nagsasaad na ang klase ay isang view. Ang lifetime analysis code ay na-update upang magamit ang katangiang ito kapag naghahanap ng mga nakalawit na lalagyan;
  • Pinahusay na mga tseke;
  • Ang mga naipon na error ay naitama at ang mga pagkukulang sa analyzer ay inalis.

Pinagmulan: opennet.ru

Magdagdag ng komento