Наиболее типичными симптомами появления ошибок в программе являются:
· преждевременное окончание выполнения программы;
· недопустимое увеличение времени некоторой последовательности команд одной из программ;
· полная потеря или значительное искажение накопленных данных, необходимых для успешного выполнения решаемых задач;
· нарушение последовательности вызова отдельных программ, в результате чего происходит пропуск необходимых программ;
· искажение отдельных элементов данных (входных, выходных, промежуточных) в результате обработки искаженной исходной информации.
Способы обеспечения и повышения надежности программ
Они определены на следующие основные категории:
1. усовершенствование технологии программирования;
2. выбор алгоритмов, не чувствительных к различного рода нарушениям вычислительного процесса (использование алгоритмической избыточности);
3. резервирование программ – дуальное или N-версионное программирование, другие методы введения структурной избыточности;
|
|
4. контроль и тестирование программ с последующей коррекцией.
Выбор алгоритмов, не чувствительных к нарушениям вычислительного процесса, основан на исследовании их чувствительности. Мерой чувствительности могут являться погрешности, вызванные этими нарушениями.
Результаты вычислений искажаются погрешностями:
· исходных данных, трансформированными в ходе вычислений:
· округления;
· методическими;
· обусловленными отказами, сбоями и ошибками в программе.
Контрольные вопросы и задания
1. Что понимается под надежностью программного обеспечения (ПО)?
2. Что такое корректность ПО?
3. От чего зависит восстанавливаемость ПО компьютера и КС?
4. Определите основные причины отказов ПО.
5. Какие существуют пути повышения надежности ПО компьютеров и КС?
6. Почему при мультипрограммной обработке информации используют принцип виртуальных машин?
7. Какой из способов обеспечения надежности программ считается более эффективным?
8. Что значит «усовершенствование технологии программирования»?
9. Дайте определение понятию «дуальное и N-версионное» программирование.
10. Как оценить вероятность безотказной работы программ?
11. Что означает термин «алгоритмическая избыточность»?
Литература: 1, 2, 3, 9, 10, 11.
Лекция 14
Тема: Методы введения структурной избыточности в программы
План
1. Понятие о дуальном и N-версионном программировании.
2. Модифицированное дуальное программирование.
3. Виртуальные машины в надежности.
4. Избыточность операционной системы ИС.
Ключевые слова
Дуальное программирование, N-версионное программирование, тестирование программ, алгоритмическая избыточность, виртуальная машина, мультипрограммная обработка, монитор, режим реального времени.