Список моделей надежности программного обеспечения
Надежность программного обеспечения — это вероятность того, что программное обеспечение вызовет сбой системы в течение определенного времени работы. Программное обеспечение не выходит из строя из-за износа, но выходит из строя из-за неправильной функциональности, синхронизации, последовательности, данных и обработки исключений. Программное обеспечение дает сбой в зависимости от времени работы, а не от календарного времени. С начала 1970-х годов было разработано более 225 моделей, однако некоторые из них имеют схожие, если не идентичные, предположения. Модели имеют два основных типа — прогнозное моделирование и оценочное моделирование.
1.0 Обзор моделей прогнозирования надежности программного обеспечения
Эти модели основаны на фактических исторических данных реальных программных проектов. Пользователь отвечает на список вопросов, которые калибруют исторические данные для прогнозирования надежности программного обеспечения. Точность прогноза зависит от того, сколько параметров (вопросов) и наборов данных содержится в модели, насколько актуальны данные и насколько пользователь уверен в своих входных данных. Одной из первых моделей прогнозирования была Римская лаборатория TR-92-52. Он был разработан в 1987 году и последний раз обновлялся в 1992 году и ориентирован на программное обеспечение для систем авионики. Из-за возраста модели и данных она больше не рекомендуется, но является основой для нескольких современных моделей, таких как упрощенная модель, полномасштабная модель и модель оценки Нойфельдера. Существуют также таблицы поиска для определения плотности дефектов программного обеспечения в зависимости от зрелости возможностей или типа приложения. Это очень простые модели, но они, как правило, не так точны, как модели, основанные на оценке. [1]
Модель | Количество входов | Поддерживается промышленностью | Усилия, необходимые для использования модели | Относительная точность | Год разработки/ Последнее обновление |
Отраслевые таблицы | 1 | Несколько | Быстрый | Варьируется | 1992, 2015 |
Таблицы CMMI® | 1 | Любой | Быстрый | Низкий при низком CMMi® | 1997, 2012 |
Укороченная модель | 23 | Любой | Умеренный | Середина | 1993, 2012 |
Полномасштабная модель | 94-299 | Любой | Подробный | Средне-высокий | 1993, 2012 |
Модели на основе метрик | Варьируется | Любой | Варьируется | Варьируется | ЧТО |
Исторические данные | Минимум 2 | Любой | Подробный | Высокий | ЧТО |
Модель Рэлея | 3 | Любой | Умеренный | Середина | ЧТО |
РАДК ТР-92-52 | 43-222 | Самолет | Подробный | Устаревший | 1978, 1992 |
Модель Нойфельдера | 156 | Любой | Подробный | От среднего до высокого | 2015 |
2.0 Обзор моделей повышения надежности программного обеспечения (оценка)
Модели роста (или оценки) надежности программного обеспечения используют данные об отказах, полученные в результате тестирования, для прогнозирования частоты отказов или среднего времени безотказной работы в будущем. Модели зависят от предположений о частоте отказов во время тестирования, которая может увеличиваться, достигать пика, уменьшаться или иметь некоторую комбинацию уменьшения и увеличения. Некоторые модели предполагают, что существует конечное и фиксированное число внутренних дефектов, в то время как другие предполагают, что оно бесконечно. Некоторые модели требуют усилий для оценки параметров, в то время как другие требуют оценки лишь нескольких параметров. Некоторым моделям требуется точное время между каждым сбоем, обнаруженным при тестировании, в то время как другим требуется только количество сбоев, обнаруженных в течение любого заданного интервала времени, например дня.
Название модели | Количество присущих дефектов | Требуется усилие | Требуется точное время между сбоями |
Увеличение частоты отказов | |||
Вейбулл | Конечный/не фиксированный | Высокий | ЧТО |
Пик | |||
Модель постоянной скорости удаления дефектов Шумана | Конечный/фиксированный | Низкий | Да |
Снижение частоты отказов | |||
Модель постоянной скорости удаления дефектов Шумана | Конечный/фиксированный | Низкий | Да |
Линейно убывающая | |||
Общие экспоненциальные модели, включая: · Гоэл-Окумото (экспоненциальный) [2] · Базовая модель Мусы · Елински-Моранда | Конечный/фиксированный | Середина | Да |
Линейно убывающая модель Шумана | Конечный/фиксированный | Низкий | Да |
Дуэйн | бесконечный | Середина | Нет |
Нелинейно убывающая | |||
Муса-Окумото (логарифмический) | бесконечный | Низкий | Да |
Модель Шумана, экспоненциально убывающая | Конечный/фиксированный | Высокий | Да |
Лог-логистика | Конечный/фиксированный | Высокий | Да |
Геометрический | бесконечный | Высокий | Да |
Увеличивается, а затем уменьшается | |||
Ямада (с задержкой) S-образный | бесконечный | Высокий | Да |
Вейбулл | Конечный/не фиксированный | Высокий |
Инструменты надежности программного обеспечения, реализующие некоторые из этих моделей, включают CASRE (компьютерная оценка надежности программного обеспечения) и SFRAT с открытым исходным кодом (инструмент оценки сбоев и надежности программного обеспечения).
Ссылки
[ редактировать ]- ^ «Холодная правда о надежном программном обеспечении» . www.softrel.com . Проверено 13 февраля 2017 г.
- ^ Гоэл, Амрит; Окумото, Кадзу (август 1979 г.). «Модель скорости обнаружения ошибок, зависящая от времени, для надежности программного обеспечения и других показателей производительности». Транзакции IEEE о надежности . Р-28 (3): 206–211. дои : 10.1109/tr.1979.5220566 . S2CID 11698435 .
- ^ «Рекомендуемые методы IEEE 1633 по обеспечению надежности программного обеспечения, 2016 г.» . Январь 2017.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Лю, MR; Никора, А. (1992). «CASRE: компьютерный инструмент оценки надежности программного обеспечения». [1992] Материалы пятого международного семинара по компьютерной разработке программного обеспечения . стр. 264–275. дои : 10.1109/CASE.1992.200165 . ISBN 0-8186-2960-6 .
- ^ Инструмент обеспечения надежности программного обеспечения с открытым исходным кодом: руководство для пользователей . 2016.