Скачиваний:
137
Добавлен:
02.05.2014
Размер:
455.68 Кб
Скачать

Алгоритм a

А1i:=1.

А2. Вычислить значенияbj,j=1,...,Nполиномаf(x)iпутем перемноженияf(x)iиf(x)i-1: еслиf(x)=иf(x)i-1=, тоbj=.

А3. Вычислитьmi(h)=.

А4i:=i+1.

А5. Еслиir/N, то переход на п.А2. В противном случае алгоритм завершается.

Кроме рассмотренного, возможно применение алгоритмов реализующих методы вычисления моментов функции от случайных величин с использованием моментопроизводящих или кумулянтных функций [КК].

Задача вычисления закона распределения F(y) в заданной точке y0поLмоментам формулируется следующим образом.

Дано:mi,i=1,...,L- начальные моментыF(y).

Необходимо:определить значения supF(y0) и infF(y0).

Метод вычисления sup F(y0) и infF(y0) по известным начальным моментамF(y) описан в [Че]. Алгоритм вычисления supF(y0) и infF(y0) дляL=2k-1,k=1,2..., и известныхаиb– конечных значений y, меньше и больше которых соответственно значения функции принимать не могут, реализуют данный метод с некоторыми модификациями.

Алгоритм б

Б1. Сформировать ряд «подходящих» дробей к интегралу

Б2. Преобразовать «подходящую дробь» в непрерывную вида

.

Б3. Привести непрерывную дробь к дробно рациональному видуL(z)/L(z).

Б4. Выполнить пункты Б2и Б3дляL=L-1 и вычислитьL-1(z)/L-1(z).

Б5. Определить функцию.

Б6.Определить вещественные корни полинома1(z).

Б7. Вычисление интеграла с помощью вычетов. При этом infF(y0) будет равно сумме вычетов0(z)/1(z) для всехy,y0, а supF(y0), будет равно сумме infF(y0) и очередного вычета. Среднее значениеFср(y0)=(supF(y0)+infF(y0))/2 и значение=(supF(y0)+infF(y0))/2, определяющее точность восстановления функции распределения, зависят отmi,i=1,...,Lиy0. Однако1/L+1.

Таким образом, с помощью алгоритмов АиБможно с заданной точностью рассчитать вероятностные характеристики исследуемой программы.

      1. Обоснование критериев принятия решения о наличии в программе рпс

Задача выбора критериев наличия в исследуемой программе РПС в общем виде, формулируется следующим образом.

Дано:

  • множество Giвероятностных характеристик случайных величин, снимаемых с заданного множества контрольных точек;

  • эталонные значения этих ВХ Gi*и их значения, полученные в результатеnиспытаний (прогонов) программы.

Необходимо:определить множествоLiтаких, что если существуетi(Gi-Gi*>Li), то делается вывод о наличии в исследуемой программе РПС с вероятностьюР0.

Если в качестве информативной характеристики программы выбраны значения закона распределения выходной величины в точке y0, то задача определения решающих правил о наличии программных закладок может быть уточнена и записана в следующем виде.

Дано:Р=F(y0);q=1-P=P(y>y0); задано число прогонов программыnи значения доверительной вероятностиР0.

Необходимо:определить значение доверительного интервалаLчастоты появления события {A-yj<y0}, гдеyj-j-е значение выходной величины.

Для независимых испытаний частота появления события А-yi<y0является случайной величиной, распределенной по биномиальному закону с математическим ожиданиемРи дисперсиейD=Pq/n. Вероятность появленияkсобытий приnиспытаниях в этом случае рассчитывается по формулеPk=CnkPkqn-k.

В качестве доверительного интервала [P1*,Р2*] целесообразно выбирать наименьший интервал, вероятность попадания за границы которого больше (1-Р)/2. Границы доверительных интервалов для различных значенийР,Р0иnсведены в таблицы [Ве], что существенно облегчает задачу инженерного анализа результатов тестирования при контроле технологической безопасности программного обеспечения. С увеличениемnбиномиальное распределение будет стремиться к нормальному с теми же математическим ожиданием и дисперсией. При этом для вероятностного тестирования необходимо выбрать такие значенияy0, чтобыР0,5, что позволяет заменять биномиальное распределение нормальным с максимальной точностью. Доверительный интервал в этом случае определяется по формуламP(P-P*<Lэкс)=P0,Lэкс=arg Z*((1+P0)/2), где argZ*- функция, обратная нормальной функции распределенияZ*, полученная по таблицам.

С учетом того, что значение F(y0) вычисляется с точностью, доверительный интервалL=Lэкс+, то есть если при проведении испытаний значений Р*будет отличаться от аналогично рассчитанного на величину, большую, чемLэкс+, то принимается решение о наличии в исследуемой программе РПС с вероятностью Р0.

Аналогичным образом доверительный интервал может быть определен и для случая, когда в качестве информативной характеристики программы используется математическое ожидание выходной случайной величины: .

Так как yjпредставляет собой случайные величины с одинаковым законом распределения, то законы распределения и их суммы стремятся к нормальному с математическим ожиданиемm1(y) и дисперсиейD(y)/n.

В этом случае доверительный интервал определяется по формуле Lэкс=argZ*((1+P0)/2), .

Пользуясь методами математической статистики, можно аналогичным образом построить доверительные интервалы и для других ВХ. При этом факторы, влияющие на достоверность определения вероятности наличия в программном обеспечении РПС, можно разбить на три основные группы.

1. Точность аналитического вычисления ВХ.Если в качестве метода вычислений использовать метод моментов, то ошибки будут вызваны точностью представления реализуемой функции степенным рядом и ограниченным числом начальных моментов. Если функция представляется конечным степенным рядом или ошибка разложения в ряд достаточно мала, то можно считать, что точность вычисления ВХ будет зависеть от качества моментов. При заданной допустимой ошибкевычисления закона распределения требуемое число моментов может быть достаточно просто рассчитано.

2. Ограниченность числа испытаний (прогонов) программы.При известных значениях доверительного интервала с помощью методов статистики можно определить необходимое число испытаний, обеспечивающее достоверность результата не меньше Р0.

3. Закон распределения входных случайных величин. Для заданного закона распределения аргументаw(x) функцииf1(x) иf2(x) будут неразличимы, если для каждой точкиy

F(y)=w(xdx=w(xdx

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

w(xdx-w(xdx,

где i- интервалы аргумента, гдеf1(x)<y;

j- интервалы аргумента, гдеf2(x)<y.

Проверяя функции при различных законах распределения аргумента, можно сократить множество неразличимых функций. Для каждого класса допустимых функций можно найти такой набор законов распределения аргументов, который обеспечивает минимизацию области неразличимых функций.

Соседние файлы в папке Казарин О.В. Теория и практика защиты программ