Список моделей надежности программного обеспечения - List of software reliability models
Надежность программного обеспечения - это вероятность того, что программное обеспечение вызовет сбой системы в течение определенного времени работы. Программное обеспечение не выходит из строя из-за износа, но не выходит из строя из-за неисправной функциональности, времени, последовательности, данных и обработки исключений. Программное обеспечение дает сбой в зависимости от времени работы, а не календарного времени. С начала 1970-х годов было разработано более 225 моделей, однако некоторые из них имеют схожие, если не идентичные предположения. Модели бывают двух основных типов - прогнозное моделирование и оценочное моделирование.
1.0 Обзор моделей прогнозирования надежности программного обеспечения
Эти модели основаны на реальных исторических данных реальных программных проектов. Пользователь отвечает на список вопросов, которые калибруют исторические данные, чтобы дать прогноз надежности программного обеспечения. Точность прогноза зависит от того, сколько параметров (вопросов) и наборов данных содержится в модели, насколько актуальны данные и насколько пользователь уверен в своих входных данных. Одной из самых ранних моделей прогнозирования была римская лаборатория TR-92-52. Он был разработан в 1987 году и последний раз обновлялся в 1992 году и был ориентирован на программное обеспечение в системах авионики. Из-за возраста модели и данных она больше не рекомендуется, но является основой для нескольких современных моделей, таких как модель Shortcut, полномасштабная модель и модель оценки Neufelder. Существуют также таблицы поиска для плотности дефектов программного обеспечения в зависимости от зрелости возможностей или типа приложения. Это очень простые модели, но, как правило, они не так точны, как модели, основанные на оценке.[1]
Модель | Количество входов | Промышленность поддерживается | Усилия, необходимые для использования модели | Относительная точность | Год разработки / Последнее обновление |
Отраслевые таблицы | 1 | Несколько | Быстро | Варьируется | 1992, 2015 |
Столы CMMI® | 1 | Любой | Быстро | Низкий при низком CMMi® | 1997, 2012 |
Модель быстрого доступа | 23 | Любой | Умеренный | Середина | 1993, 2012 |
Натурная модель | 94-299 | Любой | Подробно | Средней высоты | 1993, 2012 |
Метрические модели | Варьируется | Любой | Варьируется | Варьируется | NA |
Исторические данные | Минимум 2 | Любой | Подробно | Высоко | NA |
Модель Рэлея | 3 | Любой | Умеренный | Середина | NA |
РАДК ТР-92-52 | 43-222 | Самолет | Подробно | Устаревший | 1978, 1992 |
Модель Нойфельдера | 156 | Любой | Подробно | От среднего до высокого | 2015 |
2.0 Обзор роста надежности программного обеспечения (оценка) Модели
В моделях роста (или оценки) надежности программного обеспечения используются данные об отказах, полученные в результате тестирования, для прогнозирования частоты отказов или наработки на отказ в будущем. Модели зависят от предположений о частоте отказов во время тестирования, которая может увеличиваться, достигать пика, уменьшаться или сочетаться с уменьшением и увеличением. Некоторые модели предполагают, что существует конечное и фиксированное количество внутренних дефектов, в то время как другие предполагают, что оно бесконечно. Некоторые модели требуют усилий для оценки параметров, в то время как другие требуют оценки только нескольких параметров. Для некоторых моделей требуется точное время между сбоями, обнаруженными при тестировании, в то время как для других требуется только количество сбоев, обнаруженных в течение любого заданного временного интервала, например дня.
Название модели | Количество присущих дефектов | Требуются усилия | Требуется точное время наработки на отказ |
Увеличение количества отказов | |||
Weibull | Конечная / не фиксированная | Высоко | NA |
Вершина горы | |||
Модель скорости удаления постоянных дефектов Shooman | Конечная / фиксированная | Низкий | да |
Уменьшение количества отказов | |||
Модель скорости удаления постоянных дефектов Shooman | Конечная / фиксированная | Низкий | да |
Линейно убывающий | |||
Общие экспоненциальные модели, включая: · Гоэль-Окумото (экспоненциальный)[2] · Базовая модель Мусы · Елински-Моранда | Конечная / фиксированная | Середина | да |
Линейно убывающая модель Shooman | Конечный / фиксированный | Низкий | да |
Дуэйн | Бесконечный | Середина | Нет |
Нелинейно убывающий | |||
Муса-Окумото (логарифмический) | Бесконечный | Низкий | да |
Модель Shooman с экспоненциальным убыванием | Конечный / фиксированный | Высоко | да |
Логистика | Конечная / фиксированная | Высоко | да |
Геометрический | Бесконечный | Высоко | да |
Увеличение, а затем уменьшение | |||
Ямада (с задержкой) S-образный | Бесконечный | Высоко | да |
Weibull | Конечная / не фиксированная | Высоко |
Инструменты обеспечения надежности программного обеспечения, реализующие некоторые из этих моделей, включают CASRE (Автоматизированная оценка надежности программного обеспечения) и SFRAT (Инструмент оценки сбоев и надежности программного обеспечения) с открытым исходным кодом.
Рекомендации
- ^ «Холодная правда о надежном программном обеспечении». www.softrel.com. Получено 2017-02-13.
- ^ Гоэль, Амрит; Окумото, Кадзу (август 1979 г.). «Зависящая от времени модель скорости обнаружения ошибок для надежности программного обеспечения и других показателей производительности». Транзакции IEEE о надежности. R-28 (3): 206–211. Дои:10.1109 / tr.1979.5220566.
- ^ «Рекомендуемые практики IEEE 1633 для обеспечения надежности программного обеспечения, 2016 г.». Янв 2017. Цитировать журнал требует
| журнал =
(помощь) - ^ CASRE: автоматизированный инструмент оценки надежности программного обеспечения. 1992. Дои:10.1109 / CASE.1992.200165.
- ^ Инструмент обеспечения надежности программного обеспечения с открытым исходным кодом: руководство для пользователей. 2016.