Таҳлили статикӣ ва таҳлили динамикӣ дар санҷиши нармафзор



Таҳлили статикӣ чист?

Таҳлили статикӣ ҳеҷ гуна иҷрои динамикии нармафзори санҷидашударо дар бар намегирад ва метавонад камбудиҳои имконпазирро дар марҳилаи аввал, пеш аз коркарди барнома, муайян кунад.

Таҳлили статикӣ пас аз рамзгузорӣ ва пеш аз санҷишҳои воҳид анҷом дода мешавад.

Таҳлили статистикиро тавассути мошин тавассути худкор ба таври автоматикӣ «убур кардан» ва муайян кардани қоидаҳои номувофиқ анҷом дода мешавад. Намунаи классикӣ як мураттибест, ки хатогиҳои луғавӣ, синтаксисӣ ва ҳатто баъзе хатогиҳои маъноиро пайдо мекунад.


Таҳлили статикӣ низ метавонад аз ҷониби шахсе гузаронида шавад, ки кодексро баррасӣ намуда, стандартҳои дурусти рамзгузорӣ ва конвенсияҳоро барои сохтани барнома истифода барад. Ин одатан Кодекси Шарҳи номида мешавад ва онро як таҳиягари ҳамсол, дигаре ғайр аз таҳиягаре, ки рамзро навиштааст, анҷом медиҳад.

Таҳлили статикӣ инчунин бо мақсади маҷбур кардани таҳиягарон барои истифодаи қисмҳои хатарнок ё хатогии забони барномасозӣ бо роҳи муқаррар кардани қоидаҳое истифода мешавад, ки набояд истифода шаванд.


Вақте ки таҳиягарон таҳлили кодро иҷро мекунанд, онҳо одатан ҷустуҷӯ мекунанд

  • Хатҳои код
  • Басомади шарҳ
  • Лона дуруст
  • Шумораи зангҳои функсионалӣ
  • Мураккабии сикломатӣ
  • Ҳамчунин метавонад санҷишҳои воҳидро тафтиш кунад

Хусусиятҳои сифат, ки метавонанд диққати таҳлили статикӣ бошанд:

  • Эътимоднокӣ
  • Нигоҳдорӣ
  • Санҷиш
  • Истифодаи такрорӣ
  • Таҳвил
  • Самаранокӣ


Афзалияти таҳлили статикӣ кадомҳоянд?

Афзалияти асосии таҳлили статикӣ дар он аст, ки он пеш аз он ки барои ҳамгироӣ ва санҷиши минбаъда омода бошад, мушкилотро бо код пайдо мекунад.

Афзалиятҳои таҳлили рамзи статикӣ:


  • Он метавонад сустиҳои кодро дар маҳалли ҷойгиршавӣ пайдо кунад.
  • Он метавонад аз ҷониби таҳиягарони боэътимоди нармафзор, ки рамзро пурра мефаҳманд, гузаронида шавад.
  • Рамзи сарчашмаро таҳиягарони дигар ё оянда метавонанд ба осонӣ дарк кунанд
  • Ин имкон медиҳад, ки барои ислоҳҳо зудтар гардиш карда шавад
  • Заифиҳо қабл аз давраи зиндагии рушд пайдо шуда, хароҷоти ислоҳро коҳиш медиҳанд.
  • Камтарин камбудиҳо дар санҷишҳои баъдӣ
  • Нуқсонҳои беназире ошкор карда мешаванд, ки онҳоро бо истифода аз санҷишҳои динамикӣ ошкор кардан душвор аст

    • Рамзи дастнорас

    • Истифодаи тағирёбанда (эълоннашуда, истифоданашуда)

    • Функсияҳои даъватнашуда

    • Вайрон кардани арзиши сарҳад

Маҳдудиятҳои таҳлили рамзи статикӣ:

  • Агар дастӣ гузаронида шавад, он вақтро талаб мекунад.
  • Воситаҳои автоматикунонидашуда мусбат ва манфии бардурӯғро ба вуҷуд меоранд.
  • Барои бодиққат гузаронидани таҳлили кодҳои статикӣ кормандони кофӣ омода нестанд.
  • Воситаҳои автоматикӣ метавонанд ҳисси бардурӯғи амниятро таъмин кунанд, ки ҳама чиз ҳал карда мешавад.
  • Воситаҳои автоматикунонидашуда танҳо ба андозаи қоидаҳое, ки онҳо ҳангоми сканеркунӣ истифода мебаранд.
  • Он осебҳои дар муҳити вақти корӣ воридшударо намеёбад.


Таҳлили динамикӣ чист?

Дар муқоиса бо таҳлили статикӣ, ки дар он рамз иҷро карда намешавад, таҳлили динамикӣ ба иҷрои система , аксар вақт бо истифода аз асбобҳо.

Аз Википедия таърифи таҳлили динамикии барнома :

Таҳлили динамикии барнома ин таҳлили нармафзори компютерӣ мебошад, ки бо иҷрои барномаҳои аз он нармафзор сохташуда дар протсессори воқеӣ ё виртуалӣ иҷро карда мешавад (таҳлиле, ки бидуни иҷро кардани барнома бо таҳлили коди статикӣ маълум аст). Воситаҳои динамикии таҳлили барнома метавонанд бор кардани китобхонаҳои махсус ё ҳатто тартиб додани рамзи барномаро талаб кунанд.


Амалияи маъмултарини таҳлили динамикӣ ин иҷро кардани санҷишҳои воҳиди зидди код мебошад, то дар код ягон хатогӣ ёбад.

Афзалиятҳои таҳлили рамзи динамикӣ:

  • Он осебпазириро дар муҳити корӣ муайян мекунад.
  • Он барои таҳлили барномаҳое, ки дар он шумо ба рамзи воқеӣ дастрасӣ надоред, имкон медиҳад.
  • Он осебпазириро муайян мекунад, ки метавонанд дар таҳлили коди статикӣ манфии бардурӯғ бошанд.
  • Он ба шумо иҷозат медиҳад, ки натиҷаҳои таҳлили коди статикиро тасдиқ кунед.
  • Он метавонад бар зидди ҳама гуна барномаҳо гузаронида шавад.

Маҳдудиятҳои таҳлили рамзи динамикӣ:

  • Воситаҳои автоматикӣ ҳисси бардурӯғи амниятро таъмин мекунанд, ки ҳама чиз ҳал карда мешавад.
  • Ба фарогирии пурраи коди сарчашма кафолат дода наметавонад
  • Воситаҳои автоматикунонидашуда мусбат ва манфии бардурӯғро ба вуҷуд меоранд.
  • Воситаҳои автоматикунонидашуда танҳо ба андозаи қоидаҳое мебошанд, ки ҳангоми сканеркунӣ истифода мебаранд.
  • Бозгашти осебпазирӣ аз маҳалли ҷойгиршавии дақиқи кодекс душвортар аст ва барои ислоҳи мушкилот тӯлонитар вақт лозим аст.