Printsiplar, siyosatlar va himoya Dasturiy ta'minot xavfsizligi


int func(int element , int



Download 3,9 Mb.
Pdf ko'rish
bet31/55
Sana07.04.2022
Hajmi3,9 Mb.
#534884
1   ...   27   28   29   30   31   32   33   34   ...   55
Bog'liq
1. M.Payer. Software Security

int
func(int element ,
int
*inp,
int
len) { 2
int
ret = -1; 3
uchun (int
i = 0; i <= len; ++i) { if (inp[i] == element) { ret
= i;
sindirish; }
63
}
6
qaytish
ret; 7 }
6 Mudofaa strategiyasi
Listing 6.1: Bayonot qamrovi xatoni o'tkazib yuboradigan misol.
5
4
Machine Translated by Google


Filialni qamrab olish chora-tadbirlari, agar unga rioya qilingan bo'lsa, har
bir filial uchun. Shunga qaramay, qamrovni kuzatish oddiy massiv va
bajarilgan filiallarni belgilaydigan asboblar yordamida amalga oshirilishi mumkin.
Sinov kirishlari a = 5, b = 1 va a = 1, b = 5 to'liq tarmoq qamroviga (va
to'liq bayonot qamroviga) erishadi, ammo dastur orqali barcha mumkin
bo'lgan yo'llar bajarilmaydi. a = 1, b = 1 kiritilishi ikkala bayonot bir vaqtning
o'zida to'g'ri bo'lganda xatolikka olib keladi. To'liq yo'l qamrovi barcha
mumkin bo'lgan yo'llarni baholaydi. Barcha mumkin bo'lgan yo'llarni
baholash tezda qimmatga tushadi, chunki har bir filial baholangan yo'llar
sonini ikki baravar oshiradi yoki hatto chegaralar noma'lum bo'lgan tsikllar
uchun imkonsizdir. Bu yo'llar miqdorining eksponentsial o'sishi hisoblanadi
Loopdagi chekdan pastadir oxirigacha bo'lgan novdaning chekkasi
hech qachon kuzatilmaydi.
Listing 6.2: Filial qamrovini cheklash.
1
int
arr[5] = { 0, 1, 2, 3, 4}; 2
int
func(int a,
int
b) { 3
int
idx = 4; 4
agar
(a < 5) idx -= 4;
Aks
holda
idx -= 1; 5
agar
(b < 5) idx -= 1;
boshqa
idx += 1; 6
qaytish
arr[idx]; 7 }
6 Mudofaa strategiyasi
64
Filial qamrovi asosiy blokning bajarilishini ham, berilgan asosiy
blokdagi filialni ham belgilaydi va shuning uchun oddiy bayonot
qamrovining super to'plamidir. Filialni to'liq qamrab olish to'liq
bayonotni qamrab olishni nazarda tutadi. Afsuski, filial qamrovi
etarlicha aniq bo'lmasligi mumkin:
Machine Translated by Google


yo'l portlashi deb ataladi . Loop qamrovi (har bir tsiklni 0, 1, n marta
bajaring), filial qamrovi bilan birgalikda davlat maydonini ehtimoliy
ravishda qamrab oladi. Yo'l qamrovini amalga oshirish yo'llarning ish
vaqtini kuzatishni talab qiladi, chunki taxminan 40 dan ortiq filiallari
bo'lgan dasturlarni tekis massivga solishtirib bo'lmaydi va joriy (va
kelajakdagi) xotirani hisobga olgan holda barcha yo'llarni sanab bo'lmaydi.
Shu sababli, amalda filial qamrovi eng samarali vosita bo'lib, dasturiy
ta'minot uchun filial qamrovini kuzatish imkonini beruvchi bir qancha
mexanizmlar mavjud . Ikkita misol - gcov va Sanitizer qamrovi. Filial qamrovi
CFG ning qirralarini kuzatib boradi va har bir bajarilgan chetni afzalligi bilan
belgilab beradi, chunki har bir chekka uchun faqat bir oz ma'lumot talab
qilinadi (va bajarilgan yo'llar soniga bog'liq dinamik ma'lumot yo'q ).
Sanitizerlar - bu dasturni qo'shimcha tekshiruvlar bilan jihozlaydigan
kompilyatsiya ramkalari . Sinov bilan bajarilganda
Bu qamrovni kuzatishning eng aniq usuli, ammo yuqori qo'shimcha
xarajatlarni o'z ichiga oladi.
Sinov holatlari xatolarni noto'g'ri taqqoslangan natijalar, tasdiqlash xatolari,
segmentatsiya xatolari, nolga bo'linish, qo'lga olinmagan istisnolar yoki
jarayonni tugatishga olib keladigan yumshatishlar orqali aniqlaydi.
Ma'lumotlar oqimining qamrovi yo'l qamrovidan tashqariga chiqadi va
dastur orqali to'liq ma'lumotlar oqimini yanada yuqori xarajatlar bilan
kuzatib boradi. Yo'l cheklovlariga qo'shimcha ravishda (har bir yo'l qarori
uchun mantiqiy), barcha dastur qiymatlarining qiymatlari ham kuzatilishi kerak.

Download 3,9 Mb.

Do'stlaringiz bilan baham:
1   ...   27   28   29   30   31   32   33   34   ...   55




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish