Научная статья на тему 'Оценка эффективности статического анализа для поиска дефектов естественной семантики программных объектов'

Оценка эффективности статического анализа для поиска дефектов естественной семантики программных объектов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
101
34
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
функциональные дефекты / статический анализ / верификация / естественная семантика / анализатор / моделирование. / functional defects / static analysis / verification / natural semantic / analyzer / modeling.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Р. Е. Жидков

В статье проведена оценка эффективности статического анализа для поиска нового типа функциональных дефектов – дефектов естественной семантики программных объектов по показателям полноты и точности на основе математического аппарата теории вероятностей. Расчет показателей эффективности осуществлялся путем графового моделирования вариантов локализации дефектов в конструкциях программного кода для различных групп операций: арифметических, присваивания и сравнения. Для каждой конечной ситуации, создаваемой в модели на основе утверждения об априорно известном результирующем значении естественной семантики проверяемой конструкции, моделируется возможное состояние анализатора (истинное или условно истинное срабатывание, пропуск и норма). Полученные зависимости позволяют определить целесообразность использования статического анализа для поиска дефектов рассматриваемого типа на основе статистических характеристик программного кода.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Р. Е. Жидков

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Effectiveness Evaluation of Static Analysis for Searching Natural Semantic Defects of Program Objects

The paper evaluates the effectiveness of static analysis for searching a new type of functional defects called program objects natural semantic defects in terms of completeness and accuracy on the basis of the probability theory mathematical apparatus. Calculation of performance indicators is carried out by graph modeling of the defects localization variants in the software code constructions for various groups of operations (arithmetic, assignments, and comparisons). The possible state of the analyzer is modeled for each terminal situation on the basis of a priori known checking construction natural semantic result value statement (true trigger, conditionally true trigger, skip, and norm). The obtained dependencies allow to determine the feasibility of using static analysis to find considered defect’s type on the basis of statistical characteristics of software code.

Текст научной работы на тему «Оценка эффективности статического анализа для поиска дефектов естественной семантики программных объектов»

Journal of Siberian Federal University. Engineering & Technologies, 2019, 12(1), 6-17

yflK 004.43

Effectiveness Evaluation of Static Analysis for Searching Natural Semantic Defects of Program Objects

Dmitry S. Victorov and Roman E. Zhidkov*

Military Academy of Aero-Space Defense named after the Marshal of Soviet Union G.K. Zhukov 50 Zhigareva Str., Tver, 170022, Russia

Received 24.05.2018, received in revised form 21.08.2018, accepted 12.10.2018

The paper evaluates the effectiveness of static analysis for searching a new type offunctional defects called program objects natural semantic defects in terms of completeness and accuracy on the basis of the probability theory mathematical apparatus. Calculation of performance indicators is carried out by graph modeling of the defects localization variants in the software code constructions for various groups of operations (arithmetic, assignments, and comparisons). The possible state of the analyzer is modeled for each terminal situation on the basis of a priori known checking construction natural semantic result value statement (true trigger, conditionally true trigger, skip, and norm). The obtained dependencies allow to determine the feasibility of using static analysis to find considered defect's type on the basis of statistical characteristics of software code.

Keywords: functional defects, static analysis, verification, natural semantic, analyzer, modeling.

Citation: Victorov D.S., Zhidkov R.E. Effectiveness evaluation of static analysis for searching natural semantic defects of program objects, J. Sib. Fed. Univ. Eng. technol., 2019, 12(1), 6-17. DOI: 10.17516/1999-494X-0091.

© Siberian Federal University. All rights reserved

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0). Corresponding author E-mail address: r-zhdkv@yandex.ru

Оценка эффективности статического анализа для поиска дефектов естественной семантики программных объектов

Д.С. Викторов, Р.Е. Жидков

Военная академия воздушно-космической обороны им. Маршала Советского Союза Г. К. Жукова Россия, 170022, Тверь, ул. Жигарева, 50

В статье проведена оценка эффективности статического анализа для поиска нового типа функциональных дефектов - дефектов естественной семантики программных объектов по показателям полноты и точности на основе математического аппарата теории вероятностей. Расчет показателей эффективности осуществлялся путем графового моделирования вариантов локализации дефектов в конструкциях программного кода для различных групп операций: арифметических, присваивания и сравнения. Для каждой конечной ситуации, создаваемой в модели на основе утверждения об априорно известном результирующем значении естественной семантики проверяемой конструкции, моделируется возможное состояние анализатора (истинное или условно истинное срабатывание, пропуск и норма). Полученные зависимости позволяют определить целесообразность использования статического анализа для поиска дефектов рассматриваемого типа на основе статистических характеристик программного кода.

Ключевые слова: функциональные дефекты, статический анализ, верификация, естественная семантика, анализатор, моделирование.

Введение

Одной из важнейших задач, возникающих при разработке программного обеспечения (ПО) автоматизированных систем (АС) военного назначения (ВН), выступает обеспечение требуемого качества. Наличие дефектов ПО оказывает существенное влияние на характеристики качества создаваемого продукта: функциональность, надежность, эффективность и др. Обнаружение и регистрация дефектов ПО осуществляется путем проведения верификации, которая является трудоемким процессом с низкой степенью автоматизации, требующим более 15 % бюджета на разработку ПО [1, 2]. Указанная проблема усугубляется ростом размера и сложности ПО, исследование которого проводится в условиях финансовых и временных ограничений.

Дефекты содержатся как в спецификации и документации к ПО, так и непосредственно в самих программах. Поиск дефектов спецификации и документации осуществляется путем проведения различного рода экспертиз, которые по определению проводятся экспертом «вручную» с различной степенью формализации процедуры исследования и являются высокотрудоемким методом верификации [3]. Программные дефекты (ПД) определяют в основном тестированием, которое в общем случае не может быть автоматизировано и требует разработки тестового плана, сценария и процедур тестирования, а также выполнения анализа результатов его проведения. Однако для поиска некоторой части ПД - нефункциональных дефектов (не связанных с нарушением спецификации) - на практике широкое применение получили инструменты ста- 7 -

тического анализа (СА), которые автоматизированно, а в некоторых случаях автоматически, на основе различных представлений программного кода обнаруживают дефекты и указывают их точную локализацию, обеспечивая полное покрытие исходного кода проверками. Применение программногокода в качествеоходных данныханаониаеора дает еозножность нспо льесеать СА на ранних cранияxиaзpaбoакиПО,чтов неиамкорхоляет пелучисе выигрыш ваиижкиди затрат на его создание [1, 3]. Применение СА только для поиска нефункциональных дефектов ПО оартнзовваетэффелеивнуктьдакнуйзетодологиии не доаяминимикиреаеть суммарные зотлотывнразраОкнуу. Исследолание ^с^фв^н^г^с^ст^гс СА дляпоиска фо нкциональны х дефектов (ЧПД) япляб^т'со;^1^'еиесеёзпно1снеуин(с]о руппа[ид.

Длл ааиомотизацрд ппопеccaoбнaйпфанио необооросх ФД предокоается подкод, аи^овод-ный нaCAдcпoднoгoоc-a проорамм, роедииyющиxcодньши с пздым Виздчссном смыстом (ускорение, cкopокро,ыпинa; плоокийдгол ц т.д.),ирмклюуеющойcивианаибло ыошьлоедвя принципа размерной однородности уравнений, нарушение которого предлагается называть дефектомеонесчоонооп семантики (ДЕС). Естеонзиноия номопоуп ^уяи^т^з^^,]^]^еденное для оТуоря'^^^пя нотимойных призналые нрогуоммяыхобъектов (пepемоннып,фyплций и т.п.), от-лр^чнсыаа^я еечороалв, определяемоа еребованиямн емcлкфилaнып яоыла иуoоДоммирркылия. Вчанпнесаи,в джулеП pоOоть под осаеыооенноПсемантилой понимается размерность физической величины, интерпретируемая в объекте программы. Размерность величин, отталкиваясь от операций со степенями сомножителейфорьилы размерности физической величины, формализуется в виде вектора естественной семантики (ВЕС) некоторого линейного пространства с ои^дененнымиеперациямыпоелементного оикжеквя и yмнажпннннa хкалкр П].

BoзмoжнocтеиcпoльзoрcнияыеIыеoпицынб:oвопoддcкaкеЬабpyжению ФД должна быть исследована на предмет определения влияющих на него факторов и подкреплена оценкой его эффектсв ности - комплексного свойства, отражающего качество получаемых результатов ана-лоне.Покaзaраоомн эффект-оросое СА ряпяюоые:

полнотaCпоa)- доля даоипcых саде1 сущесданющих дефелтови точность (ТСА) - доля истинных среди обнаруженных дефектов [5].

Полнота и точность СА для поиска ДЕС, исходя из со тноше ия множеств существую-миxионнaпyжeчныр дофожтов,можчо уыльoнсиeнaдoяpoгpaммиoп ]зпокяофции алгоритма и воодпоаолыды о термынал оeopииволооодоcтьИ. Ввидд доыз), что пссоедуемош IЮдхоинeдаcc й^(^>лны1у срвбаоыпаниопрр анализыо ды оЧлье1а1^в длугим не-соста^'^ком - наиовнииетинвымьб-наружением pодaванлынабвуьcaжeний,пpедлaгaeтcовeкояoнбеоь обнаружрнея представлять суммoйвеpооодoьтеДИCTИcдао0 иyслoвнo-атиннтеoьpкOаоыбЫУик aнaциcбтвдр. Согвр ербро-жения для показателей эффективности будут иметь вид

ПокаэателиэффективностиСА

Пса=|С- 1

|А >,

ПРОП

P

1 ИСТ

ПРОП

P + P + P

1 ИСТ ^ 1 УСЛ П

P

1 ИСТ

ПРОП

(1)

где £>СУщ = £>обн и ^ПРОП - множество существующих дефектов; -0Обн - множество обнаруженных дефектов; -0Проп - множество пропущенных дефектов; DИСТ - множество истинных дефектов; Робн - вероятность обнаружения дефектов; Рист - вероятность истинного обнаружения дефектов; Русл - вероятность условно истинного обнаружения дефектов; РПР0П - вероятность пропуска дефектов при анализе.

Расчет показателей полноты и точности СА для поиска ДЕС выполняется на графовых моделях, описывающих состояния анализатора в терминальных вершинах графа и варианты локализации дефектов в конструкциях вида: а ® Ь, где а и Ь - операнды, представленные программными объектами; ® - бинарная операция (арифметическая, присваивания, сравнения). Предполагается, что в рассматриваемой конструкции имеется только одно искажение в любой из составляющих. Моделирование производится при условии возможности искажения как операндов (a^def, b^def), имеющих ненулевые ВЕС (т'(а) ф 0, т'(Ь) ф 0), так и операций (®^■def) с одинаковой вероятностью Рдеф, и допускает следующие состояния анализатора:

истинное срабатывание - указание на наличие ДЕС (на рис. 1, 3, 5 вершины серого цвета с непрерывным контуром);

условно истинное срабатывание - указание на наличие ДЕС при определенном сочетании составляющих конструкции программного кода (на рис. 1, 3, 5 вершины с прерывистым контуром);

пропуск - отсутствие сигнала при наличии ДЕС (на рис. 1, 3, 5 вершины белого цвета с непрерывным жирным контуром);

норма - отсутствие сигнала при отсутствии ДЕС (на рис. 1, 3, 5 вершины белого цвета с непрерывнымконтуром).

Логика определения состояния анализатора в терминальных вершинах графа модели ДЕС рассматриваемой конструкции а ® Ь строится на утверждении об априорной известности результирующего ВЕС т'(гес) для выражения преобразования естественной семантики: т'(а) ® ш'(Ь), где т'(а) и т'(Ь) - ВЕС операндов программных объектов; © = {+, -, =} - операция с ВЕС. Состояния анализатора в терминальной вершине устанавливаются исходя из условия ш(тес) = т'(а) ® т'(Ь) и варианта локализации ДЕС в исходной конструкции а ® Ь, зависящего от возможности совпадения ВЕС истинного и искажающего программных объектов, а также от типа операции с программными объектами (арифметическая, присваивания и сравнения).

Для задания условия корректности моделей используется свойство, согласно которому сумма вероятностей несовместных событий, образующих полную группу: дефект существует, который может быть либо обнаружен (Робн = Рист + Русл), либо пропущен (РПР0П), и дефект отсутствует (Р0ТСУТ) - должна равнятьсяединице:

РИСТ + Русл + РПР0П + Р0ТСТ = 1. (3)

Цель данной работы - разработка и использование для оценки эффективности СА графовых моделей ДЕС программных объектов для операций, которым возможно задать условие корректности согласно принципу размерной однородности физических уравнений.

Модель ДЕС программных объектов в арифметических конструкциях

Граф модели ДЕС для конструкций с арифметическими операциями {+, -, %, *, /} представлен на рис. 1. Пусть вершина а, соответствующая левому операнду бинарной операции, является начальной, из которой с вероятностью РдЕФ возможен переход в вершину a^def, отражающую ситуацию искажения операнда а. Распознавание искажения операнда возможно в случае изменения его ВЕС т'(а) ф ш(йеР). Ситуация, когда дефект операнда существует, но его семантика осталась неизменной т'(а) = ш(йеР), происходит с вероятностью РСВ и не обнаруживается. Вероятность РСВ определяется диапазоном возможных значений естественной семантики программных объектов, т.е. чем больше объектоводнойфизической размерностив исходном коде программы, тем выше вероятность их появления в качестве искажающего воздействия.

Альтернативой ситуации наличия искажения левого операнда a^■def служит событие в вершине а ^ а, иллюстрирующее отсутствие дефектава и происходящее с вероятностью 1 - РдЕФ. Событие искажения правого операндасооокттствк-авершинее—э-ХеЯ пртвсходитс вероятностью РдЕФ и является аналогичным искажению левого операнда.

Вершина® соотввтствуетситу ации возможногевефекта операции, которая исключает дефекты операндов и проявляется с вероятностью1-,РдЕф.Во зяокнокеоие конкретнойарифмвяи-ческой операции происходит с вероятностью Р¡, каждая из которых может быть искажена с оди-гяоввойтввеневантсю И\, показывающей изменение /-й операции наj-ю, где ¡, j е {+, -, %, *, /}. Отсутствие дефекта операции проявляется с х-тоятеостью Р1.

Рис. 1. ГрафмоделиДЕСпрограммныхобъектов варифметическихконструкциях Fig. 1. Model graph of software objects NSD for arithmetic construction

- 10 -

Ситуации искажения арифметических операций {+,-}, не изменяющих ВЕС про-граммныхобъектов при преобразовании (Р-, , Р%, Р+), не распознаются, так как т'(ге^) = т'(а) = т'(Ь). В случае замены операциями {+,-} исходной операции {%}, корректность преобразования естественной семантики которой контролируется по условию т'(ге^) = т'(а), возможны варианты появления условно истинных срабатываний анализатора при т'(а) = т'(Ь).

Вероятность существования и отсутствия дефекта арифметической операции в конструкциях программного кома пот утловир рсоной веуоянности их нскатоенря и тяаоенстат аерояв-нсосрн'^р! игдтженяу оптиепий т опенрднвв имаот иад:

РдЕф=4Рр,Рр=Ф0И,еМ*./, (4)

1-РДЕ:=Р;^/р {+,-(/<,,*,/}. (5)

Вероятноста тттианого идтлотно истинно!^ообнаа^е^зуттяя^еф(^ктов в ертфметоческих кчрстмучциях, о тч^]Еияс:«з ттриятлсхть пмепусиа дефятти н^ оснояе крнфк мочели ДЕС ос тоотно-1т1иния (4) равны:

Рт = )Еф ((1 - (В ) ( - ) ) + (■- (ЕФ ) (1 + Р.+ р,)) , (6)

1 2

РА = — Р Р А'1 —== 1 (7)

1 усл 2 у ДЕФ V. 1ДЕФ Д ' ( )

Со" = ДДЕФ I вР^в + —дЕФ) Р^!--)2 - )) . (8)

1 ПРОП -1 дЕФ)

]Вероятностт тттусствия дефекта в аачфметическси конеоруелан, итчодс тс саат нонееяий (4) се (И), предстаеляет свЧом

с = р-рефт^--^-^)— -кр:+р,р!1 = (1-Рдеф)3. (9)

Корректность модели ДЕС программных объектов для арифметических конструкций под-тнцридаитля суттм подонтлдекш с саттиошенке (() оыражеиий (И»), (7), (8) и (6(.

1^с;?с]2р([,^ ио РИ, (0), (3), (Л) и (77], вьерсжеяие псе птиноты и точнестя СА для поиска НЕС в атифмотичттдих констрятцивх ^ л<г,д;;у :но:що«з:

(1-(cb)(2-(eO) + )(1-)E®)2 (+(+()

пАа=-(-г—^-:-, (1())

са P - 3P + 3

1 деф ' деф "" 3

— " ))в ) — - ФдеФ )+ ( — " +ДЕФ )2 — + +( +/ )

т£а=-:——)—-Е--. (11)

(1-—)(()+в(1-Рд)(1+-+ р/+)

Зависимость полноты и точности СА для поиска ДЕС в арифметических конструкциях от вероятности наличия дефекта операнда или операции при фиксированных значениях вероятности совпадения ВЕС и вероятностей появления операций {*,/} и {%} в коде представлена на рис.2.

а) 6)

Рис. 2. Графикизависимости полноты (а) и тобности (б) СА для поиска ДЕС в арифметических конструкциях от верорвнооти наличия вефвкоа опетации чти оперрнда

Fig. 2. SohedulesofdapendenceCAcompleteness (a) ondaccuracy (С) forsearching NSD in arithmetic construction from probability of operation or operand defect existence

Полнота анализа арифметических конструкцийвозрастает приростедолиопераций {*,/} в еросраммноа коде, оея конотып обнаружтосисося пие возможные варианты искажений. Точность анализа увеличив ается при снижении доли операций {%}, так как для них суще ствует возможностьусловно истжяного срабатывания анализатора. Ц}>вметого, тлакеклтд^иита^зона возможных ВЕС паенраммных ебъектол, тле. увелеченкс тероятностиихкавклавиия, к^ет к умеоынеикю показателей еффсяяивностн СА.

Модели ДЕС программных обътаото в ланструктоях присвоиаттия

Для еннстоукцио приетоиоания {=, +=, -=, <ла=, *=, Н=} графоваа мпдели ДЕС аоонраммных объектов изображена на рис. 3. Данная модель характеризуется наличием операций, которые с точки зрения принципа размерной однородности и принятых допущений моделей ДЕС явля-ютса некорреялеыми {*=, /=}, тал жак нря неяулевом ВцС вмт{осф оперсида в данвых няняс^ к-=ият будея наблюдалься дефнкя: аеЬиек) = ,7к(оС 30 ос(л( м еи(т), аифЯ) еП 0. Знядит, оекевилесть налитою дефекта дон опмраций С)и> /в} следующел:

РВф = 6р = 1, р = сосст, V/ е {а =,/ =}. ( 12)

Вероятности существования с отсутствия дефекта операций {=, +=, -=, %=}, исключая за-^|едомо неправильные конструкцои с опероцисми { *=, /=}, при допу 1цеятн[ о раве нстве вероятностей дефекта операнда и операции представляет с обой:

Рдеф = 5р, Р\= сот(,1*]-, (13)

1 - Рдеф = Р' - V/ е {=- = =- - == % =}. (14)

Анализатор пропускает взаимное искажение операций {=, +=, -=, %=} ввиду невозможности выявить несоответствие априорно известного результирующего ВЕС и результата

еи 12 С"

P=-P+=-P-=--P%=-P*=-p/=

ôèôèèè ôôôêèè èèèèèè

Рис. 3. Гр^^сЗ модели ДЕС программныхобъектов в конструкцияхприсваиванин Fig. 3. Model graphof softwareojscte NSDforass^nmertconsfruation

преобразования ВЕС операндов для операций, имеющих одинаковое условие корректности

ns(res) = ns(a) = т(Ь).

Состояние условно истинного срабатывания анализатора достигается для операций {*=, /=} при замене их на {=, +=, -=} вследствие неоднозначности результата проверки условия корректности для искажающих операций ns(res) = пя(а) = П5(Ь). Ситуация наблюдается при совпадении ВЕС операндов П5(а) = П5(Ь).

Исходя из соотношения (13), состояния истинного и условно истинного срабатывания анализатора, а также пропуск дефекта для конструкций присваивания происходят со следующими вероятностями:

рист _ рдеф 0 — р)в ) (2 — рдеф ) + () — рдеф ) Х

1 ) - ) (15) -РД) (О + Р+= +Р= +Р%=)+-=РДеф () + Р= ^

1уПСЛ { \РР* (1 - 1дв( )2 (Р= + ) ) ( (16)

рроп _ р2Ррсв (( _ рд—ф ) (■+ _ Рддеф ) х (17)

(Д= +Р+= +Р-Д +) )<1 () +Р=

Вероянносто отсутствиядьфекта вконструнции нкисдаивания, оснодысаксн на выражениях (12), Вдь), (14), имеетвид

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

-1= = (в-рдеф)2 <)=)+ +Р-1): +Р-СР:: {Р*Ж) = (18)

= (1-Ддаф)е((дР+= +Р=+Р% =).

-Цн

1,0 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0.0

»4 __—

-——

s"

I 1 / / У У / У

Рев =0,6

1*СВ =1 —

0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 -fi. + /L=0 -----0,6 -+

а)

> p

ДЕФ

0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 --Й.+Л, =0,2 -----Я. + />.=0,5 -+ 1

б)

Рис. 4.Графики зависимости полноты (а) и точноети (б)СА для поиска ДЕС вконструкциях присваивания от вероктноеннналичия дафаысаоперанин или операыада

Fig. 4.SchednlesofdnpendenceSAcompleteness Ca)and ассигасу(б) fc^i" soacchingNnD inassignment constcuc-tion from probability of operationoroperanddefectexistence

Исходя из (1), (2), (15), (16) и (17), выражения для полноты и точности СА для поиска ДЕС в конструкциях присваивания следующие:

ГГ =

■'■■'■са

тС _

т са

Рдеф ( - Рб ) (2 - Рдеф ) + (l " Рдеф ) (f Рдеф +ЯР= + Ря ) f ряа® Н)

рдеф (^ --Нфдеф) + (1 --( рдеф )2 ((ф + (йРс + Т)= ) ( - рдеф )) !

РТееЗ- ) ( - рдеф )-+-(!- рдеф ) ^|рдеф + (( + р) =));!-| СЫд^.стт ^^д

(19)

. (20)

С использеваниемвыражений (12) и (20)полуиена пмвиспмость пелноты и точности ПА для пьиска ДЕС в оонстьуоциях присваиванияот вероятности нжличия дефекта операнда или операции при фиксированных значениях вероятности совпадения ВЕС и вероятностей появления операций {*=, /=} в коде (рис. 4).

Полнота СА конструкций присваивания растет при уменьшении вероятности совпадения ВЕС. До утовнй,Рс0~ И,6МИ полннтаанелизаубывеетпрм ммелешении лерояоностопояолсвия в кеде оперпций С*=, И=}, после даннооо знамения зависимость принимает обратный характер. Точность СА конструкций присваивания зависит от частоты появления операций {*=, /=} и увеличивается при снижении их до лес в коде про граммы.

Модель ДЕС программных объектов в конструкциях сравнения

Операции сравнения {<, >, <=, >=, ==, !=} применяются только к операндам, обладающим одинаковыми ВЕС (рис. 5), откуда следует условие корректности для данных конструкций

p <—p >—p <=^p >=-p =-p

p <p>p<=p>=p==p!=

ôèèèè 1 èèèèèè к ôôèèêè

p><p>>p><=ip>=p>=p>:=

p%p>=>p><=ip>=>=p>==p>

p>p=>-pvpvp==-p=

èèèèèè èèèèèè 00000;

Рис. 5. Г(>аф модели ДЕС программныхотъеятов е ктнстриоцоях травненнт Fig. 5. Model graphof software objectsNSDforcomparison consfrucüoc

т(а) = ьгиП^а-С?). Резу льтаттм выполстния ^хтст^рз^цпк^:^ сдрсавнения яв ляется значлнин ястина или ложь, что на пазволоетопцедслить наличие дефекта самой операции Эффекнииноодь анализа конструкций сравнения зависит только от вероятности совпадения ВЕС операндов при искажении (Рев) и не зависит от представленного в коде диапазона операций сравнения.

Уулнвно истиноых сра(сатынаний ауялизотора при поуссе дефтнгоа н конструкциях срав-кения не наекикиет (^У^сл =0), поэтому точностьСА согласносоотношению(2) следующая:

ТС = 1

1 СА 1

(21)

СоТытия наличив о! отсутствия дефекта операции сравнения, а также ее операндов проявляются co елтруюацими вотоятнрютями:

РДШ>=5Р=,Р) =corntnimjt (22)

1 - Рдеф = Р, V' Е {<> >, <=, >=, ==,! =} ■ (23)

Аналогично ратсуждениям вышеописанных моделей ДЕС программных объектов и наосновании соотношений (22) и (23) для констбуецый ыравнения ивгем:

°ист рдег °дег ) о —св )

Р = 0

1 усл и

рД =р (р +Î1-P )р + (i-p V

1 проп вдрс( -д]в~ГР фдеф)1 дв т\а дес /

(! - =Ред)3.

(24)

(25)

(26)

отсут \ а * деф 1 ■

(27)

Модель ДЕС программных объектов для операций сравнения корректна по соотношению (3)дляполученныхвыражений(24),(25),(26),(27).

-15 -

0,7 0,6 0,5 0,4 0,3 0,2 0,1 0,0

PçB=0J5

^"РдЕФ

0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0

Рис. б.Графики зависимостиполнотыСАдля поиска ДЕСв конструкцияхсравнения от вероятности наличия дкфекта операции или влеранда

Fig. 6.Schedulesofdependence SAcimpletenessfof searchsnfNSain comparison constrnotion from probabil-ityof operationoroperand defectexistence

Полнота CA дли поиска ДЕС к конструкциях сравнтпия, исходи из соотткшеиий(В), (24), (25), (20)такова:

Согласно выражению (28) получена зависимость полноты анализа конструкций сравнения для поиска ДЕС от вероятности наличия дефекта операнда или операции при фиксированных значениях вероятности совпадения ВЕС (рис. 6).

Из анализа зависимости (рис. 6) следует, что полнота СА конструкций присваивания при уменьшении вероятности совпадения ВЕС повышается.

Таким образом, проведенное исследование позволяет сделать вывод о возможности применения CA дпт поиска нового оипа функциональных дифеквов - ДЕС программных облектов. Расчетыкоказтли, чттднпПО АС ВН,пзогрвнмныеобпв кты кооедыпе нтерпр е тидхюе ер иро-кий диапазон возможных значенийестест венной семантики, позрайртыпаемый пид ход явл яет-ся высокоэффекпивнрш. ДанныйфакА открывает новые воеможности поснижениюзапрат на верификадою ПО АС ВН.

[1] Ицыксон E.M., Моисеев М.Ю., I^^cько В.А., Захаров А.В., Ахин М.Х. Алгоритм интервального анализа для обнаружения дефектов в исходном коде программ. Информационно-управляющие системы, 2009, 2, 34-41 [Itsykson V.M., Moiseev M.Ju., Tsesko V.A., Zakharov A.V., Akhin M.H. Interval analysis algorithm for detecting defects in the software source code. Information-control systems, 2009, 2, 34-41 (in Russian)]

[2] Липаев В.В. Технико-экономическое обоснование проектов сложных программных средств. М.: СИНТЕГ, 2004. 284 с. [Lipaev V.V. Feasibility study of complex software projects. Moscow, SINTEG, 2004, 284 p. (in Russian)]

(28)

Заключение

Список литературы

[3] Кулямин В.В. Методы верификации программного обеспечения. М.: Институт системного программирования РАН, 2008. 117 с. [Kuljamin V.V. Methods of software verification. Moscow, Institut sistemnogo programmirovanija RAN, 2008, 117 p. (in Russian)]

[4] Жидков Р.Е. Методика верификации программного обеспечения автоматизированных систем военного назначения по семантической модели. Сборник статей XXVIII Всероссийской научно-технической конференции школы-семинара «Передача, прием, обработка и отображение информации о быстропротекающих процессах», М.: ИД «Академия Жуковского», 2017, 189-196 [Zhidkov R.E. Military automated system software verification technique by semantic model. Digest of articles XXVIII All-Russian Scientific Technical Conference school-seminar "Transmission, reception, processing and display of information on fast processes", 2017, 189-196 (in Russian)]

[5] Глухих М.И., Ицыксон В.М., Цесько В.А. Использование зависимостей для повышения точности статического анализа программ. Моделирование и анализ информационных систем, 2011, 4(1), 68-79 [Glukhikh M.I., Itsykson V.M., Tsesko V.A. The use of dependencies for improving the precision of program static analysis. Modeling and analysis of information systems, 2011, 4(1), 68-79 (in Russian)]

i Надоели баннеры? Вы всегда можете отключить рекламу.