Теория и практика защиты программ


         

Оценка технологической безопасности программ на базе метода Нельсона


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

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

1.     Определение множества E входных массивов.

2.     Выделение в E

подмножеств Gj, связанных с отдельными ветвями программы.

3.     Определение для каждого Gj в предполагаемых условиях функционирования значений вероятности Pj.

4.     Определение подмножества Gj для каждого входного набора данных, используемого в контрольных примерах.

5.     Выявление проверенных пар и непроверенных в ходе испытаний сегментов и пар сегментов.

6.     Определение для каждого j величины P'=ajPj, где aj определяется в соответствии со следующими правилами [ТЛН].

·        aj=0,99, если подмножество Gj



Содержание  Назад  Вперед