Главная страница Анализ эмпирических данных для всех аргументов G/ будут отклоняться от соответствующих значений функции Р,- на величину, большую допустимой Д/. Однако существуют такие ошибки, для которых значение функции Р/ на одном или нескольких наборах входных данных из G; равно значению Ру- и отклоняется от него при всех других наборах входных данных из этого же множества. Примеры. Оператор присваивания Y = Х*2 -{- А при X - 2 присваивает Y то же самое значение, что и оператор Y = Х**2 + А, однако при всех других значениях величины X значения оператора Y в обоих случаях существенно отличаются друг от друга. В операторе присваивания Y = [Q(A)-Qo]P(A)+RC-V) при X, таком, что Q(A) = Qo, любая ошибка в Р(Х) ие будет влиять на присваиваемое значение Y, однако при других значениях величина X ошибки в Р{Х) может существенно влиять на значения, принимаемые оператором Y. Для того чтобы при наличии этих ошибок выполнялось соотношение Р/(Е) - Р/(Е) i < на наборе тестовых данных Ei, необходимо не только существование подобной хитрой ошибки в программе Lj, но еще необходимо, чтобы набор входных данных, выбранный в качестве контрольного примера, содержал значения, равные или очень близкие к значению той точки, в которой происходит совпадение результатов. Для определения математического выражения вероятности возникновения такой ситуации надо разработать способ оценки значений функций Р/, соответсгву-ющих неверной программе L/, и подмножества этих значений, связанного с тени функциями Р/, для которых при определенных Eft из G/ выполняется неравенство РИЕ,е)-Р/(Е,)<Д,. Эти соображения могут быть детализированы путем определения вероятности удовлетворительного выполнения программы, т. е. Вер[РИЕО-Р/(Е)<Д, где функцию Р/ можно рассматривать как случайную переменную, поскольку ошибки, приводящие к отклонению конкретного значения Р/ от требуемого Р/, случайны. Тогда, если воздействие ошибок не приводит к смещению оценок, т. е. математическое ожи- Вер О РИЕ,) - Е/(Е,) К Д,] > 1- Var[FHE,)] = d£t J Var(EO + V;, где V/ - дисперсия функции Р/ [М {Et)], а значение величины dFj{Et)/dEt вычисляется в точке Et = M{Et) и характеризует относительную изменчивость функции Fj. Таким образом. Var(E,)<Д(l-Y) влечет (х). Если выполняется N прогонов программы на случайно выбранных наборах данных Et из подпространства входных данных Gy, то легко показать, что вы- дание М [Fj (Е,)} = F; (Е), для определения этой вероятности может быть использовано обобщенное неравенство Чебышева, которое имеет место для любого k>0, если {л:)-неотрицательная функция случайной переменной X: Поскольку по определению математическое ожидание квадрата разности текущего значения случайной величины и ее ожидаемого значения есть не что иное, как дисперсия случайной величины М{[Еу(Е)- - Е/ (Е()]} = Var [Fj {Et)], то, заменяя k на Д?, получим Var[F[(E,)] А? Если Var [Fj (£,)] < Д* (1 - у), то Вер[Е/{Е,)-Ру(Ег)<Д,]>у. (*) При значении у, достаточно близком к единице (например, равном 0,9), вероятность правильного выполнения программы довольно высока. Полученные результаты могут быть уточнены, если принять во внимание распределение вероятностей наборов входных данных Et. Тогда для дисперсии оценки F/(E() имеем следующее приближенное выражение: Var (Е,)<д2(1 -y)N свидетельствует о справедливости соотношения ( ). Выполнение этого условия облегчается с ростом N. Поэтому при фиксированных значениях всех других количественных характеристик с ростом N увеличивается вероятность у того, что при любом наборе входных данных Е( результат работы программы будет находиться в пределах допустимых отклонений. В общем случае, поскольку набор входных данных Е( является точкой многомерного пространства, т. е. Et = E<(Ji, .... Хп), предыдущие выражения должны быть заменены их -мерными аналогами. Тогда предыдущее неравенство представляется в виде { Z [4г1Var (Х,) -f v; < Д?(1 - V). что влечет за собой (к). Для простоты при выводе предыдущего выражения предполагалось, что Xk выбираются независимо, и поэтому в нем не учтены смешанные моменты Xk- Встречаются также типы ошибок, проявляющиеся лишь при одном из наборов входных данных, но настолько частые, что становятся оправданными специальные меры для их выявления. К таким типам ошибок относятся: - деление на ноль; здесь возможно автоматическое выявление операторов, которые могут приводить к подобной ситуации; - неверный оператор ветвления, примером которого могло бы служить использование во втором операторе программы Л (разд. 6.1) .LE. вместо .LT. 6.3. Оценка неопределенности данных о надежности Один из методов измерения надежности программы был описан в гл. 5 и состоял в выполнении прогонов на некоторых наборах входных данных, состоя- полнение неравенства
|
© 2000 - 2024 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования. |