Itusilẹ cppcheck 2.6, oluyẹwo koodu aimi fun awọn ede C ++ ati C

Ẹya tuntun ti cppcheck 2.6 oluyẹwo koodu aimi ti tu silẹ, eyiti o fun ọ laaye lati ṣe idanimọ ọpọlọpọ awọn kilasi aṣiṣe ninu koodu ni awọn ede C ati C ++, pẹlu nigba lilo sintasi ti kii ṣe boṣewa, aṣoju fun awọn eto ifibọ. A pese akojọpọ awọn afikun nipasẹ eyiti cppcheck ti ṣepọ pẹlu ọpọlọpọ idagbasoke, iṣọpọ ilọsiwaju ati awọn ọna ṣiṣe idanwo, ati pe o tun pese iru awọn ẹya bii ṣiṣe ayẹwo koodu ibamu pẹlu ara koodu. Lati ṣe itupalẹ koodu, o le lo boya parser tirẹ tabi parser ita lati Clang. O tun pẹlu iwe afọwọkọ donate-cpu.py lati pese awọn orisun agbegbe lati ṣe iṣẹ atunyẹwo koodu ifowosowopo fun awọn akojọpọ Debian. Awọn koodu orisun ti ise agbese na pin labẹ iwe-aṣẹ GPLv3.

Idagbasoke cppcheck wa ni idojukọ lori idamo awọn iṣoro ti o ni nkan ṣe pẹlu ihuwasi aisọye ati lilo awọn apẹrẹ ti o lewu lati oju-ọna aabo. Ibi-afẹde naa tun jẹ lati dinku awọn idaniloju eke. Lara awọn iṣoro ti a ti mọ: awọn itọka si awọn ohun ti ko si, awọn ipin nipasẹ odo, awọn ṣiṣan odidi, awọn iṣẹ iṣipopada ti ko tọ, awọn iyipada ti ko tọ, awọn iṣoro nigba ṣiṣẹ pẹlu iranti, lilo ti ko tọ ti STL, awọn ifọkasi ijuboluwole, lilo awọn sọwedowo lẹhin wiwọle gidi si ifipamọ, ifipamọ overruns, lilo ti uniitialized oniyipada.

Ninu ẹya tuntun:

  • Awọn sọwedowo atẹle yii ti ṣafikun si ipilẹ atupale:
    • isansa ti oniṣẹ ipadabọ ninu ara iṣẹ;
    • ṣe igbasilẹ data agbekọja, pinnu ihuwasi aisọye;
    • iye ti a fiwewe wa ni ita awọn aṣoju iye ti iru;
    • daakọ ti o dara ju ko ni waye lati pada std :: gbe (agbegbe);
    • faili naa ko le ṣii ni igbakanna fun kika ati kikọ ni awọn ṣiṣan oriṣiriṣi (sisan);
  • fun awọn iru ẹrọ Unix, atilẹyin afikun fun iṣafihan awọn ifiranṣẹ iwadii ni awọn awọ oriṣiriṣi;
  • fi kun AMI onínọmbà fun ValueFlow. Nlo delta ti o rọrun nigbati o ṣe iṣiro iyatọ laarin awọn oniyipada aimọ meji;
  • awọn ofin ti a lo fun akojọ awọn ami-ami "ṣetumo" le tun baramu #include;
  • ikawe ikawe le ni tag bayi ninu , ati ni ibamu si awọn iṣẹ ọfẹ, eyiti o le gba awọn apoti bii std :: iwọn, std :: ofo, std :: bẹrẹ, std :: opin, bbl le pato yeld tabi igbese fun awọn asopọ;
  • ikawe ikawe le ni tag bayi ninu fun smart ijuboluwole ti o ni oto nini. A Ikilọ ti wa ni bayi ti oniṣowo nipa purpili jo si awon orisi ti smati ijuboluwole;
  • awọn iṣoro ti o wa titi pẹlu sisẹ paramita -cppcheck-build-dir;
  • htmlreport le ṣe afihan alaye bayi nipa onkọwe (lilo ẹbi git);
  • awọn ikilo ti o gbooro nipa awọn oniyipada ti kii ṣe igbagbogbo, ṣugbọn o le jẹ;
  • Awọn aṣiṣe akojo ati awọn ailagbara ti olutupalẹ ti ni atunṣe.

Ni afikun, awọn sọwedowo lati Misra C 2012, pẹlu Atunse 1 ati Atunse 2, ti ni imuse ni kikun, ayafi fun awọn ofin 1.1, 1.2 ati 17.3. Awọn sọwedowo 1.1 ati 1.2 gbọdọ ṣe nipasẹ alakojọ. Ijeri 17.3 le ṣe nipasẹ alakojọ gẹgẹbi GCC.

orisun: opennet.ru

Fi ọrọìwòye kun