Скачиваний:
225
Добавлен:
02.05.2014
Размер:
455.68 Кб
Скачать
    1. Метод расчета вероятности наличия рпс на этапе испытаний программного обеспечения вычислительных задач

      1. Постановка задачи

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

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

Сущность вероятностного тестирования заключается в следующем. Исследуемая программа реализуется на наборах входных данных, представляющих собой случайные величины, распределенные по некоторому закону F(x). Для некоторого множества контрольных точек определяются вероятностные характеристики (ВХ) случайных величин, являющихся для этих точек выходными данными. Полученные ВХ сравниваются с эталонными ВХ, рассчитанными для данного закона распределения входных величин по заданному в спецификациях программы алгоритму, который данная программа реализует. В зависимости от степени совпадения экспериментально определенных ВХ с эталонными делается вывод об отсутствии в программе дефектов, преднамеренно внесенных на этапе ее создания. Необходимо отметить, что данный метод позволяет выявлять любые дефекты программы, в том числе и случайные ошибки. Однако использование стохастического тестирования наиболее целесообразно для тех участков сложных программных комплексов, для которых детерминированные методы требуют существенных по объему затрат на подготовку тестовых наборов данных. В то же время применение на этапе отладки программ более простых методов позволяет практически ликвидировать вероятность проявления случайных ошибок после завершения отладки и представления программного обеспечения на испытания.

Область применения метода вероятностного тестирования программ определяется в основном границами применимости математического аппарата, используемого для расчета эталонных вероятностных характеристик. Для программ, реализующих вычислительные функции, задача расчета вероятности наличия в программе РПС формулируется следующим образом [ЕУ].

Дано:алгоритмА, подлежащий реализации программойП, и требуемая достоверность результатов тестированияР0(вероятность наличия РПС в нетестируемых ветвях программы при заданном числе испытаний).

Требуется определить.

  • последовательность законов распределения F1(x),...,Fn(x),j=1,...,входных величинХ={xj}, при которой с вероятностьюРпргарантируется отсутствие в тестируемой программе РПС; при этом с вероятностьюР0такие дефекты могут иметь место в нетестированных участках программы;

  • множество контрольных точек (КТi),i=1,...,k, в которых определяется экспериментальное распределение выходных величин;

  • множество Giвероятностных характеристик, снимаемых с заданного множества КТ;

  • множество величин Liтаких, что если существуетi, что (Giэкс-Giэт>Li), то программа содержит дефекты с вероятностьюР0или не содержит их с вероятностьюРпр.

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

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