Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_TP.docx
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
282 Кб
Скачать
☆

Технологические ошибки

  1. В настоящее время технологические ошибки в реальных системах составляют ничтожную величину и могут быть вызваны лишь сбоями при перенесении исполняемого кода с каких-либо носителей в память ВС. Однако они могут существовать и в ряде систем, в основном СРМВ, где вводятся дополнительный контроль при занесении программ в память. Наиболее простым и в тоже время практически исчерпывающим является использование контрольных сумм.

  2. Для АИС технологические ошибки также не являются определяющими, как правило они естественным образом достаточно быстро выявляются и для их исправления достаточно лишь перезагрузить программу.

Программные ошибки

Эти ошибки в значительной степени определяются степенью автоматизации при разработке программ. Разработка программ на ЯВУ позволяет снизить количество ошибок в 10-20 раз по сравнению с программами, разработанными на Assembler. Опыт показывает, что у опытных программистов обычно получается 1-2% неверных операторов (не синтаксических ошибок). 1 программная ошибка приводит, как правило, к изменению нескольких операторов, но самое печальное, что исправление ошибок очень часто приводит к возникновению новых ошибок.

Алгоритмические ошибки

Этот тип ошибок очень трудно поддается обнаружению методами формализованного контроля, как правило, применяемым при отладке, что связано с трудностью получения полных и достоверных эталонов для сложных КП.

Системные ошибки

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

Динамика изменения количества сложныхошибок кп при отладке

  1. Исследования в динамике изменения ошибок позволяет получить важные данные для оценки уровня отлаженности КП, а также для определения необходимых ресурсов при проектировании КП в заданные сроки.

  2. Длительность отладки зависит от допустимого значения не выявленных ошибок, при котором разработку можно считать законченной. Показателем отлаженности может быть вероятность обнаружения ошибок в программе в течение некоторого времени или интенсивность потока искажения результатов в период эксплуатации за счет не выявленных ошибок. Подобный подход представляется весьма удобным и разумным, но на практике получение количественных оценок весьма затруднено.

  3. Существует жестокая корреляция между 3 видами проявления ошибок:

  1. Суммарным количеством ошибок в КП имеющихся к определенному времени.

  2. Количеством ошибок в КП выявляемых в единицу времени при постоянных усилиях (затратах).

  3. Количеством искажений результатов на выходе КП из-за не выявленных ошибок.

  1. Под постоянными усилиями будем понимать постоянство затрат ресурсов, как человеческих, так и материальных и временных. Человеческие ресурсы определяются количеством людей, занятых в отладке, и их квалификацией. Материальные ресурсы определяются количеством аппаратных и программных средств, используемых при отладке.

  2. Если отладка ведется при постоянных усилиях, то можно предположить, что вероятность обнаружения ошибок в первом приближении определяется количеством ошибок в КП. Количество обнаруженных ошибок в единицу времени пропорционально количеству имеющихся ошибок в программе. Считая, что каждая обнаруженная ошибка устраняется, количество ошибок КП уменьшается и, следовательно, интенсивность их обнаружения должна экспоненциально убывать в зависимости от длительности отладки τ:

λ=λо*exp(-α*τ), (1)

где λо – интенсивность появления ошибок в начале отладки, λ – интенсивность обнаружения и устранения ошибок в единицу времени.α – некая константа, определяемая постоянными усилиями и соответственными затратами ресурсов.

  1. В качестве показателя отлаженности КП можно было бы взять предельную интенсивность выявления ошибок, значение которой, в «теории», можно было бы получить из оценки допустимости потерь от воздействия не выявленных ошибок в процессе эксплуатации. Однако определение таких показателей на практике нереально. Поэтому в реальной жизни время завершения отладки осуществляется по совместному решению заказчика и исполнителя.

  2. Выражение (1) абсолютно правильно отражает характер изменения ошибок во времени при сделанных нами предположениях, но не отражает реальное количество ошибок в системе. Это объясняется тем, что различные составляющие КП используются с различной частотой. Примерно с такой же частотой они тестируются, что является вполне разумным.

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

λэ = k*λо*exp(-λ*τ), (2)

т.е. реальных ошибок в kраз больше чем мы можем предположить.

Исследования, проведенные в условиях практической отладки, показывают, что k~100.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]