
- •1. Введение в надежность
- •2. Надежность технических элементов
- •2.1. Основные понятия и определения
- •2.2. Функциональные показатели надежности элемента
- •Функция ненадежности элемента
- •2.3. Числовые показатели надежности
- •2.4. Основные законы распределения наработки до отказа
- •Распределение Вейбулла
- •Экспоненциальное распределение
- •Распределение Релея
- •Нормальное распределение
- •Усеченное нормальное распределение
- •Суперпозиции экспоненциальных распределений
- •2.5. Ремонтопригодность технических элементов
- •Функциональные показатели ремонтопригодности
- •Числовые показатели ремонтопригодности
- •Экспоненциальное распределение вероятности восстановления
- •Комплексные показатели ремонтопригодности
- •2.6. Определение показателей надежности элементов по результатам испытаний
- •Определительные испытания
- •Контрольные испытания
- •Лабораторные испытания элементов
- •3. Надежность технических систем
- •3.1. Надежность простых технических систем
- •3.2. Расчет надежности локальных технических систем
- •3.3. Надежностный синтез технических систем
- •4. Надежность программного обеспечения
- •4.1. Общие сведения о программном обеспечении
- •Жизненный цикл программного обеспечения
- •4.2. Показатели надежности программы и программного обеспечения
- •Понятие ошибки программы
- •Модель ошибки сертифицированного по
- •Модели поведения ошибок функционирующего по
- •Функциональные и числовые характеристики надежности по
- •4.3. Повышение надежности программного обеспечения
- •Повышение надежности по путем резервирования
- •Программное резервирование по предусматривает наличие двух (или более) алгоритмов , решения одной и той же задачи с одинаковыми исходными данными и двух по1 и по2 (рис. 4.13).
- •5. Литература
Модель ошибки сертифицированного по
Общее число N ошибок в разработанном и принятом в эксплуатацию программном обеспечении зависит от большого количества аналоговых и дискретных факторов, наиболее значимыми из которых являются:
- длина программы, измеряемая числом операторов (обычно 10 – 12 ошибок на 1000 операторов программы универсальной ЭВМ и 20 – 30 ошибок на 1000 операторов ПО РВ);
- способ программирования ПО («сверху вниз» или «снизу вверх»);
- алгоритмический язык программирования (чем выше уровень языка и он более структурирован, тем меньше длина программы и меньше ошибок);
- квалификация программистов (опыт программирования, уровень знаний и умений, средняя загруженность программистов, их собранность и аккуратность и др.);
сложность программного обеспечения (характеризуется числом: циклов, условных операторов, операций ветвления, связей и сопряжений с другими программами и техническими устройствами, вычислительных и логических операторов, операций ввода-вывода, прерывания и др.).
Анализ
больших ПО, содержащих несколько сот
программ с суммарной длиной 20…100 тыс.
операторов, показал линейный характер
зависимости случайного числа N
оставшихся в программах ошибок от
примерно 16 – 20 аналоговых и дискретных
факторов. Статистическая обработка
полученных «экспериментальных» данных
позволила построить феноменологическую
модель оценки среднего числа ошибок
в сертифицированном ПО
,
где:
-
оценка условного математического
ожидания числа ошибок в ПО;
, k=16…20
– факторы, влияющие на число ошибок N;
в частности: Z1
– длина программы; Z2
и Z3
– язык и способ программирования; Z4,
Z5,
Z6 –
стаж работы, образовательный ценз и
загруженность программиста; Z7
…
Z16
– число циклов, условных операторов,
операций ввода-вывода, прерываний,
ветвлений, сопряжений с программами и
разными техническими устройствами и
т.д.;
- значимые (неслучайно отличающиеся от
нуля) коэффициенты, определяемые методом
наименьших квадратов.
Приведенная корреляционная модель позволяет приближенно оценивать среднее число N(0) скрытых ошибок в ПО, которое сдано в эксплуатацию. Знание числа N(0), в свою очередь, позволяет организовать эффективное сопровождение ПО на этапе его эксплуатации.
Вместе с тем, построение корреляционной зависимости связано с значительными трудностями по накоплению экспериментальных данных о числе выявленных ошибок и «измерении» факторов. Определенные сложности возникают и при математической обработке накопленных выборок малого объема для дискретных переменных Z с существенно разными значениями уровней дискретизации. Последнее обстоятельство не позволяет рассматривать оценку как несмещенную, состоятельную и тем более эффективную. Наконец, отметим, что рассматриваемая корреляционная зависимость получена в конце 80-ых годов по экспериментальным данным, относящимся к 5 крупным ПО американских вычислительных систем (Тейер Т., Липов М., Нельсон Э.). Поэтому формальное применение корреляционной модели к современным ПО (и особенно ПО РВ) вряд ли оправдано и целесообразно.
Число
ошибок N(0),
оставшихся в принятом в эксплуатацию
ПО, можно оценить по результатам
достаточно тонкого вычислительного
эксперимента. Для этого введем в ПО
некоторое число
искусственных ошибок, затем организуем
определенное количество прогонов
программ и выявим
,
искусственных и
собственных (имевшихся в ПО до момента
)
ошибок. Доля обнаруженных искусственных
ошибок
вероятно равна доле
собственных ошибок ПО. Отсюда имеем:
.
Подобный прием позволяет получать
удовлетворительную оценку N(0),
если искусственные ошибки достаточно
типичны, и распределены также, как и
собственные ошибки ПО.