Мегаобучалка Главная | О нас | Обратная связь


Статическая модель Миллса



2016-01-26 2434 Обсуждений (0)
Статическая модель Миллса 0.00 из 5.00 0 оценок




Модель совершенно другого типа разработал Миллс. В ней не используется никаких предположений о поведении интенсивности отказов λ(t), эта модель строится на твердом статистическом фунда­менте. Сначала программа «засоряется» некоторым количеством известных ошибок. Эти ошибки вносятся в программу случайным образом, а затем делается пред­положение, что для исходных и внесенных в программу ошибок вероят­ность обнаружения при последующем тестировании одинакова и зависит только от их количества. Тести­руя программу в течение некоторого вре­мени и сравнивая количество обнаруженных исходных и внесенных в про­грамму ошибок, можно оценить N – первона­чальное число ошибок в про­грамме.

Предположим, что в программу было внесено s ошибок, после чего решено начать тестирование. Пусть при тестировании об­наружено n+v ошибок, причем п – число найденных исходных ошибок, a v – число най­денных внесенных ошибок. Тогда оценка для N по методу максимального правдоподобия будет следующей:

 

(3.4)

 

Например, если в программу внесено 20 ошибок и к некоторому мо­менту тестирования обнаружено 15 исходных и 5 внесенных ошибок, зна­чение N можно оценить в 60. В действительности N можно оценивать по­сле обнаружения каждой ошибки; Миллс предлагает во время всего периода тестирования отмечать на гра­фике число найденных ошибок и те­кущие оценки для N.

Вторая часть модели связана с выдвижением и проверкой ги­потез об N. Примем, что в программе имеется не более k исходных ошибок, и вне­сем в нее еще sошибок. Теперь программа тести­руется, пока не будут об­наружены все внесенные ошибки, причем в этот момент подсчитывается число обнаруженных исходных ошибок (обозначим его п).Уровень значи­мости С вычисляется по следующей формуле:

 

(3.5)

 

Величина С является мерой доверия к модели; это вероятность того, что число исходных ошибок будет не больше k. Например, если мы утвер­ждаем, что в программе нет ошибок (k = 0), и, внеся в программу 4 ошибки, все их обнаруживаем, не встретив ни одной исходной ошибки, то С = 0,80. Чтобы достичь уровня 95 %, нам надо было бы внести в про­грамму 19 ошибок. Если мы утверждаем, что в программе не более трех исходных ошибок, и, внеся шесть ошибок, обнаруживаем их все и не более трех ис­ходных, уровень значимости равен 60 %. Формула для С имеет под собой прочные статистические основания; выведена она Миллсом.

Эти две формулы для N и С образуют полезную модель ошибок; первая предсказывает число ошибок, а вторая может использо­ваться для установления доверительного уровня прогноза. Сла­бость этой формулы в том, что С нельзя предсказать до тех пор, пока не будут обнаружены все внесенные ошибки (а это, конечно, может не произойти до самого конца этапа тестирования). Чтобы справиться с этой трудностью, можно моди­фицировать формулу для С так, чтобы Сможно было оценить после того, как найдено j внесенных ошибок (j £ s):

 

(3.6)

 

В предыдущем примере, где k = 3, a s = 6, если найдены 5 из 6 вне­сен­ных ошибок, С опускается с 60 до 33 %. Еще один график, ко­торый по­лезно строить во время тестирования, – текущее значение верхней границы k для некоторого фиксированного доверительного уровня, например 90 %.

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

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

Наконец, отметим еще одно достоинство внесения ошибок: оно мо­жет оказывать положительное психологическое влияние на группу тести­рования. У программистов возникают затрудне­ния при отладке своих про­грамм, например, потому, что они склон­ны считать каждую обнаруженную ошибку последней. Внесение ошибок может помочь в этом деле, по­скольку теперь программист знает, что в его программе есть еще не обна­руженные ошибки.

 

Глава 3. Заключение

 

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

В заключение можно подвести итог:

В соответствии с классической работой Г. Майерса:

1. В программном обеспечении имеется ошибка, если оно не выполняет того, что пользователю разумно от него ожидать;

2. Отказ программного обеспечения - это появление в нем ошибки;

3. Надежность программного обеспечения - есть вероятность его работы без отказов в течении определенного периода времени, рассчитанного с учетом стоимости для пользователя каждого отказа.

Из данных определений можно сделать важные выводы:

1. Надежность программного обеспечения является не только внутренним свойством программы;

2. Надежность программного обеспечения - это функция как самого ПО, так и ожиданий (действий) его пользователей.

Основными причинами ошибок программного обеспечения являются:

1. Большая сложность ПО, например, по сравнению с аппаратурой ЭВМ;

2. Неправильный перевод информации из одного представления в другое.

 

 


Глава 4. Список используемой литературы

Основная литература

1. Липаев В. В. / Программная инженерия.Методологические основы. //М.:ТЕИС,2006.

2. ГОСТ 27.002 – 89. Надежность в технике. Основные понятия. Термины и определения. // М.: Издательство стандартов, 1990.

3. ГОСТ Р ИСО/МЭК 9126 – 93. Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению. // М.: Издательство стандартов, 1994.

4. ГОСТ 51901.5 – 2005. Менеджмент риска. Руководство по применению методов анализа надежности. // М.: Издательство стандартов, 2007.

5. ГОСТ 28195 – 89. Оценка качества программных средств. Общие положения. // М.: Издательство стандартов, 1989.

6. ГОСТ 27.310 – 95. Надежность в технике. Анализ видов, последствий и критичности отказов. // М.: Издательство стандартов, 1995.

 

7. ГОСТ 51901.12 – 2007. Менеджмент риска. Метод анализа видов и последствий отказов. // М.: Издательство стандартов, 2007.

8. Г. Майерс. Надежность программного обеспечения. Москва, Мир, 1980 год.

 

Дополнительная литература

1. Р. Гласс. Руководоство по надежному программированию. Москва, «Финансы и статистика», 1982 год.

2. В. Турский. Методология программирования. Москва, Мир, 1981 год.

3. В. Феллер. Введение в теорию вероятностей и ее приложения. Т.1. Москва; изд.: «Мир». 1967 год.

Периодические издания



2016-01-26 2434 Обсуждений (0)
Статическая модель Миллса 0.00 из 5.00 0 оценок









Обсуждение в статье: Статическая модель Миллса

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (2434)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)