Аппаратные и программные


Обеспечение корректности программного кода: обзор



Download 3,23 Mb.
Pdf ko'rish
bet100/179
Sana24.02.2022
Hajmi3,23 Mb.
#234030
TuriУчебное пособие
1   ...   96   97   98   99   100   101   102   103   ...   179
3.3.5.1 Обеспечение корректности программного кода: обзор 
существующих решений 
Существуют различные подходы к обеспечению корректности кода 
приложений. Перечислим наиболее распространенные из них: тестирование с 
помощью юнит-тестов, динамический анализ кода (во время работы 
приложения), статический анализ кода (анализ исходных текстов). Нельзя 
сказать, что какой-то один вариант тестирования лучше других – все эти 
подходы обеспечивают различные аспекты качества приложений. 
Юнит-тесты предназначены для быстрой проверки небольших участков 
кода, например, отдельных функций и классов. Их особенность в том, что эти 
тесты выполняются быстро и допускают частый запуск. Из этого вытекают два 
нюанса использования такой технологии. Во-первых, эти тесты должны быть 
написаны. Во-вторых, тестирование выделения больших объемов памяти 
(например, более двух гигабайт) занимает значительное время, поэтому 
нецелесообразно, так как юнит-тесты должны отрабатываться быстро. 
Динамические анализаторы кода (лучший представитель – это Compuware 
BoundsChecker) предназначены для обнаружения ошибок в приложении во 
время выполнения программы. Из этого принципа работы и вытекает основной 
недостаток динамического анализатора. Для того чтобы убедиться в 
корректности программы, необходимо выполнить все возможные ветки кода. 
Для реальной программы это может быть затруднительно. Но это не значит, что 
динамический анализ кода не нужен. Такой анализ позволяет обнаружить 
ошибки, которые зависят от действий пользователя и не могут быть 
определены по коду приложения. 
Статические анализаторы кода (как, например, Gimpel Software PC-lint и 
Parasoft C++test) предназначены для комплексного обеспечения качества кода и 
содержат несколько сотен анализируемых правил. В них также есть некоторые 
из правил, анализирующих корректность 64-битных приложений. Однако, 
поскольку это анализаторы кода общего назначения, то их использование для 


165 
обеспечения качества 64-битных приложений не всегда удобно. Это 
объясняется, прежде всего, тем, что они не предназначены именно для этой 
цели. Другим серьезным недостатком является их ориентированность на 
модель данных, используемую в Unix-системах (LP64). В то время как модель 
данных, используемая в Windows-системах (LLP64), существенно отличается от 
нее. Поэтому применение этих статических анализаторов для проверки 64-
битных Windows-приложений возможно только после неочевидной 
дополнительной настройки.
Некоторым дополнительным уровнем проверки кода можно считать 
наличие 
в 
компиляторах 
специальной 
диагностики 
потенциально 
некорректного кода (например, ключ /Wp64 в компиляторе Microsoft Visual 
C++). Однако этот ключ позволяет отследить лишь наиболее некорректные 
конструкции, в то время как многие из также опасных операций он пропускает.

Download 3,23 Mb.

Do'stlaringiz bilan baham:
1   ...   96   97   98   99   100   101   102   103   ...   179




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