Namai Plėtra Kas yra šaltinio kodo analizė? - apibrėžimas iš techopedijos

Kas yra šaltinio kodo analizė? - apibrėžimas iš techopedijos

Turinys:

Anonim

Apibrėžimas - ką reiškia šaltinio kodo analizė?

Šaltinio kodo analizė yra automatinis programos šaltinio kodo patikrinimas, siekiant surasti gedimus ir juos ištaisyti prieš parduodant ar platinant programą.

Šaltinio kodo analizė yra statinio kodo analizės sinonimas, kai šaltinio kodas analizuojamas tiesiog kaip kodas, o programa neveikia. Tai pašalina poreikį kurti ir naudoti bandomuosius pavyzdžius ir gali atsiriboti nuo specifinių klaidų, tokių kaip mygtukai, kurių spalva skiriasi nuo to, kas nurodyta specifikacijose. Pagrindinis dėmesys skiriamas programos gedimų, kurie gali pakenkti jos tinkamai funkcijai, paieškai, pavyzdžiui, avarijas sukeliančioms kodo eilutėms.

„Techopedia“ paaiškina šaltinio kodo analizę

Šaltinio kodo analizė iš esmės yra automatinis kodo derinimo būdas. Tikslas yra rasti klaidas ir gedimus, kurie programuotojui gali būti neaiškūs. Tai skirta surasti tokias klaidas, kaip galimas buferio perpildymas ar nesąžiningas rodyklių naudojimas ir netinkamas šiukšlių rinkimo funkcijų panaudojimas. Visa tai gali panaudoti įsilaužėlis.

Kodo analizatoriai dirba naudodamiesi taisyklėmis, kurios nurodo, ko reikia ieškoti. Su per mažu tikslumu analizatorius gali išskaičiuoti per daug klaidingų teigiamų dalykų ir užtvindyti vartotoją nenaudingais perspėjimais, o per didelis tikslumas gali užtrukti per ilgai; todėl turi būti pusiausvyra.

Yra du analizatorių tipai:

  • Tarpprodukulinis - aptinka modelius iš vienos funkcijos į kitą ir šie modeliai yra koreliuojami taip, kad analizatorius galėtų sukurti modelį ir imituoti vykdymo kelius.
  • Intraproceduralinis - daugiausia dėmesio skiriama modelių atitikimui ir priklauso nuo to, kokių modelių vartotojas ieško.

Tarpprodukuliniai analizatoriai yra modernesni ir sudėtingesni. Geri to pavyzdžiai yra „Coverity“, „Fortify“ ir paties „Microsoft“ centralizuotas įrankis PREfix.

Kas yra šaltinio kodo analizė? - apibrėžimas iš techopedijos