Amaliy ish 1 Mavzu: Loyixaviy takliflar va jamoalar. Biznes ilovalarni ulashish buyicha misollar. Ishdan maqsad: topshiriq



Download 2,24 Mb.
bet61/89
Sana11.04.2022
Hajmi2,24 Mb.
#542710
1   ...   57   58   59   60   61   62   63   64   ...   89
Bog'liq
Dasturiy injiniringga kirish

Klocwork haqida


Klocwork mahsulotlari statik kodni avtomatlashtirilgan tahlil qilish, dasturiy ta'minotdagi nuqsonlar va xavfsizlik muammolarini aniqlash va oldini olish uchun mo'ljallangan. Mahsulotlarimiz ishlab chiqish guruhlariga dasturiy ta'minot sifati va xavfsizlik kamchiliklarining asosiy sabablarini aniqlash hamda ishlab chiqish jarayonida ushbu kamchiliklarni kuzatish va oldini olish vositalarini taqdim etadi. Klocwork kompaniyasining patentlangan texnologiyasi 1996-yilda tashkil etilgan va 80 dan ortiq mijozlar uchun yuqori sarmoya daromadini (ROI) taqdim etdi, ularning aksariyati Fortune 500 kompaniyalari bo'lib, dunyoda eng ko'p talab qilinadigan dasturiy ta'minotni ishlab chiqish muhitini taklif qiladi. Klocwork xususiy kompaniya bo'lib, ofislari Burlington, San-Xose, Chikago, Dallas (AQSh) va Ottavada (Kanada).
Ushbu atama odatda maxsus dasturiy ta'minot tomonidan amalga oshiriladigan tahlil uchun qo'llaniladi, qo'lda tahlil deb ataladi tushunish yoki tushunish dasturlari.
Amaldagi vositaga qarab, tahlil chuqurligi individual bayonotlarning xatti-harakatlarini aniqlashdan boshlab barcha mavjud manba kodlarini o'z ichiga olgan tahlilgacha farq qilishi mumkin. Tahlil davomida olingan ma'lumotlardan foydalanish usullari ham har xil - xatolar bo'lishi mumkin bo'lgan joylarni aniqlashdan tortib, dasturning har qanday xususiyatlarini matematik jihatdan isbotlash imkonini beruvchi rasmiy usullargacha (masalan, xatti-harakatlarning spetsifikatsiyaga muvofiqligi).
Ba'zi odamlar dasturiy ta'minot ko'rsatkichlari va teskari muhandislikni statik tahlil shakllari deb bilishadi.
So'nggi paytlarda statik tahlil ishlatiladigan dasturiy ta'minotning xususiyatlarini tekshirish uchun tobora ko'proq foydalanilmoqda kompyuter tizimlari yuqori ishonchlilik.
Ko'pgina kompilyatorlar (masalan, GNU C kompilyatori) ekranda "ogohlantirishlar" ni ko'rsatadi. ogohlantirishlar) - sintaktik jihatdan to'g'ri bo'lgan kodda xatolik borligi haqidagi xabarlar. Masalan:
intx; int y = x+ 2 ; // x o'zgaruvchisi ishga tushirilmagan!
Bu eng oddiy statik tahlil. Kompilyator boshqa ko'plab muhim xususiyatlarga ega - birinchi navbatda, ish tezligi va mashina kodining sifati, shuning uchun kompilyatorlar kodni faqat aniq xatolar uchun tekshiradilar. Statik analizatorlar kodni batafsil tahlil qilish uchun mo'ljallangan.

Statik analizatorlar tomonidan aniqlangan xatolar turlari


  • Aniqlanmagan xatti-harakatlar - ishga tushirilmagan o'zgaruvchilar, NULL ko'rsatkichlariga kirish. Kompilyatorlar eng oddiy holatlar haqida ham signal beradi.

  • Kutubxonadan foydalanishning blok-sxemasini buzish. Masalan, har bir fopenga fclose kerak. Va agar fayl o'zgaruvchisi fayl yopilishidan oldin yo'qolsa, analizator xato haqida xabar berishi mumkin.

  • Hujjatsiz xatti-harakatlarga olib keladigan odatiy stsenariylar. C standart kutubxonasi ko'plab texnik nosozliklar bilan mashhur. get kabi ba'zi funktsiyalar o'z-o'zidan xavfsiz emas. sprintf va strcpy faqat ma'lum sharoitlarda xavfsizdir.

  • Bufer to'lib ketishi - kompyuter dasturi xotirada ajratilgan bufer chegarasidan tashqarida ma'lumotlarni yozganda.

Void doSomething(const char * x) ( char s[ 40 ] ; sprintf (s, "[%s]" , x) ; // mahalliy buferga sprintf, to'lib ketishi mumkin .... }

  • O'zaro platformaga xalaqit beradigan odatiy stsenariylar.

Ob'ekt * p = getObject(); int pNum = reinterpret_cast< int >(p); // x86-32 da true, x64 da ko'rsatgichning bir qismi yo'qoladi; size_t kerak

  • Takrorlanuvchi koddagi xatolar. Ko'pgina dasturlar bir xil narsani turli argumentlar bilan bir necha marta bajaradi. Odatda, takrorlanuvchi parchalar noldan yozilmaydi, balki takrorlanadi va tuzatiladi.

dest.x = src.x + dx; dest.y = src.y + dx; // Xato, kerak!
std::wstrings; printf("s - %s", s);

  • Funksiyaga berilgan o‘zgarmas parametr dasturga qo‘yilgan talablarning o‘zgarganligi belgisidir. Bir marta parametr yoqilgan edi, lekin endi u endi kerak emas. Bunday holda, dasturchi ushbu parametrdan va u bilan bog'liq mantiqdan butunlay xalos bo'lishi mumkin.

doSomething (int n, bool bayrog'i) // bayroq har doim to'g'ri( agar (bayroq) ( // ba'zi mantiq) boshqa ( // kod bor, lekin ishlatilmaydi) ) doSomething(n, rost ); ... doSomething (10 , rost ); ... doSomething (x.size() , true );
std::strings; ...s.empty(); // kod hech narsa qilmaydi; siz s.clear() ni nazarda tutgandirsiz?

Download 2,24 Mb.

Do'stlaringiz bilan baham:
1   ...   57   58   59   60   61   62   63   64   ...   89




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