Надежность программ и причины отказов программного обеспечения




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

Безотказность - это свойство сохранять работоспособность прог­раммным средством (ПС) в процессе обработки информации. Она оценивается вероятностью работы ПС без отказов в течении за­данного периода наблюдения и определяется корректностью (правиль­ностью). Безотказность зависит от наличия ошибок в нем, допущенных на этапах создания программы. Безоказность аппаратуры и ПО по-разному за­висит от входных данных и времени функционирования системы (рис. 3. 2).

 
 

 


Рис. 3. 2

 

 

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

Восстанавливаемость - определяется затратами времени и труда на устранение отказа из-за появившейся в программе ошибки и ее последствий. Восстанавливаемость после отказа заключается в корректировке и восстановлении текста программы, исправление данных, внесении измене­ний в организацию вычислительного процесса (алгоритм). Восстанавливаемость зависит от сложности ПС, структурированности, алгоритмического языка, стиля программирования и качества документации.

Причины отказов ПО можно разделить на четыре группы:

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

Основные классы скрытых ошибок:

а) Ошибки вычислений содержатся в математических выражениях (на-пример, неверные преобразования типов, неверный знак операции, ошибка в выражении для индекса, переполнение или потеря значимости при вычислениях).

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

в) Ошибки ввода/вывода (неправильно указан формат ввода или выво­да, отсутствие признака конца файла).

г) Ошибки манипулирования данными (пр. неверно определено коли­чество элементов, неверное начальное значение, неверное указание длины операнда).

д) Ошибки совместимости связаны с несовместимостью конкретного ПС с операционной системой и другими прикладными программами. Возникают в основном, когда программа переносится с одной машины на другую.

е) Ошибки сопряжения вызывают неверное взаимодействие программы с другими программами или подпрограммами. Это ошибки связей между моду­лями и подпрограммами (например, несовместимость формальных аргумен­тов и фактических параметров, отсутствие необходимой подпрограммы).

2. Искажение входной информации, подлежащей обработке, нарушает функционирование ПО, когда входные данные не попадают в область допус­тимых значений программы. Причины:

- ошибки пользователей (операторов) при подготовке исходной информации,

- искажения данных на первичных носителях,

- сбои и отказы (неисправности) в аппаратуре ввода данных, каналах связи, потери или искажения в буферных накопителях выч. системы;

- ошибки в документации для подготовки вводимых данных.

3. Неверные действия пользователя связаны прежде всего с непра­вильной интерпретацией сообщений, неправильными действиями пользовате­ля в процессе диалога с ЭВМ. Эти ошибки часто являются следствием некачественной документации (неверное описание возможностей программы, режимов ее работы, форматов входной и выходной информации, нечёткостью диагностических сообщений, выдаваемых программой).

4. Неисправность аппаратуры приводит во многих случаях к искажению данных и текстов программ в основной и во внешней памяти.

Наиболее типичные симптомы возникновения ошибок в программе

1. Недопустимое увеличение времени выполнения программы.

2. Зацикливание на выполнении некоторой последовательности команд.

3. Преждевременное (аварийное) окончание выполнения программы.

4. Нарушение последовательности вызова программ или подпрограмм.

5. Полная потеря или искажение накопленных данных.

6. Искажение отдельных элементов данных (входных, выходных, промежуточных).

Для увеличения эффективности восстановительных процедур необходимо: при разработке программного средства программисту следует

- дополнить программу спец. средствами диагностики кодов аварийных за­вершений, в том числе формируемых самими пользователями, т.е. элемента­ми самоконтроля.

- ввести в программы контрольные точки;

- обеспечить возможность рестарта программы с контрольной точки.

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

Структурная избыточность вводится за счет усложнения структуры системы. (Вычисления дублируются и производятся по полному и усеченному алгоритмам.)

При применении временной избыточности должен быть предусмотрен резерв времени.

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-08-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: