Обоснование критериев принятия решения о наличии в программе РПС
Задача выбора критериев наличия в исследуемой программе РПС в общем виде, формулируется следующим образом.
Дано:
· множество 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), где arg Z* - функция, обратная нормальной функции распределения Z*, полученная по таблицам.
С учетом того, что значение F(y0) вычисляется с точностью d, доверительный интервал L=Lэкс+d, то есть если при проведении испытаний значений Р* будет отличаться от аналогично рассчитанного на величину, большую, чем Lэкс+d, то принимается решение о наличии в исследуемой программе РПС с вероятностью Р0.
Аналогичным образом доверительный интервал может быть определен и для случая, когда в качестве информативной характеристики программы используется математическое ожидание выходной случайной величины:

Так как yj представляет собой случайные величины с одинаковым законом распределения, то законы распределения и их суммы стремятся к нормальному с математическим ожиданием m1(y) и дисперсией D(y)/n.
В этом случае доверительный интервал определяется по формуле Lэкс=sarg Z*((1+P0)/2),

Пользуясь методами математической статистики, можно аналогичным образом построить доверительные интервалы и для других ВХ. При этом факторы, влияющие на достоверность определения вероятности наличия в программном обеспечении РПС, можно разбить на три основные группы.
1. Точность аналитического вычисления ВХ. Если в качестве метода вычислений использовать метод моментов, то ошибки будут вызваны точностью представления реализуемой функции степенным рядом и ограниченным числом начальных моментов. Если функция представляется конечным степенным рядом или ошибка разложения в ряд достаточно мала, то можно считать, что точность вычисления ВХ будет зависеть от качества моментов. При заданной допустимой ошибке d вычисления закона распределения требуемое число моментов может быть достаточно просто рассчитано.
2. Ограниченность числа испытаний (прогонов) программы. При известных значениях доверительного интервала с помощью методов статистики можно определить необходимое число испытаний, обеспечивающее достоверность результата не меньше Р0.
3. Закон распределения входных случайных величин. Для заданного закона распределения аргумента w(x) функции f1(x) и f2(x) будут неразличимы, если для каждой точки y
F(y)=




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




где Di
- интервалы аргумента, где f1(x)<y;
Dj - интервалы аргумента, где f2(x)<y.
Проверяя функции при различных законах распределения аргумента, можно сократить множество неразличимых функций. Для каждого класса допустимых функций можно найти такой набор законов распределения аргументов, который обеспечивает минимизацию области неразличимых функций.