Отказы в программе что это

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

Лекция 13 Тема: Надежность программного обеспечения информационных систем План 1. Основные понятия и определения надежности программного обеспечения. 2. Показатели надежности программного обеспечения. 3. Причины отказов программного обеспечения, признаки появления ошибок. 4. Способы обеспечения и повышения надежности программ. Ключевые слова Надежность программного обеспечения, ПО, отказ, скрытые ошибки, спецификация, корректность программы, контроль ПО, логические ошибки, ошибки ввода-вывода, сбой, резервирование программ, ошибки манипулирования.

Рекомендуемые материалы

Лабораторная работа №13 База Данных Тассов К.Л.
Информатика
Разработка прикладного программного обеспечения отдела кадров университета
Информатика
Вариант 13 — ДЗ №2

Объектно-ориентированное программирование (ООП)

Вариант 24 — Отчёт по практике — Проектирование и реализация программного обеспечения с использованием структурного и объектного подходов

Отказы в Яндекс.Метрике: что это такое и как ими управлять | SEMANTICA

Объектно-ориентированное программирование (ООП)
399 359 руб.

Лабораторная работа №13 (Использование указателей при работе с массивами в С++. Динамические двумерные массивы)

Информатика
Лабораторная работа №13
Информатика

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

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

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

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

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

Механизм возникновения отказа аппаратуры и отказа ПО существенно отличаются друг от друга. Отказ аппаратуры обусловлен разрушением каких-либо элементов аппаратуры. Отказ ПО обусловлен несоответствием ПО поставленным задачам.

Как использовать ОТКАЗ и в Каких Программах. Расти Банка

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

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

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

Причины отказов программного обеспечения Основными причинами непосредственно вызывающими нарушение нормального функционирования программы, являются [1, 2, 3, 10, 11]: 1. ошибки, скрытые в самой программе; 2. искажения входной информации, подлежащей обработке; 3. неверные действия пользователя; 4. неисправность аппаратуры установки, на которой реализуется вычислительный процесс. 1. Скрытые ошибки программы являются главным фактором нарушения нормальных условий его функционирования; Можно выделить следующие основные ошибки в программе: · Ошибки вычислений – ошибки данного класса содержаться в закодированных математических выражениях или получаемых с их помощью результатах.

Примерами таких ошибок является неверное преобразование типов переменных, неверный знак операции, ошибка в выражении индекса, переполнение или потеря значимости при вычислениях. · Логические ошибки – являются причиной искажения алгоритма решения задачи. Такого рода ошибки возникают в связи с неверной передачей управления, неверном задании диапазона изменения параметров цикла, неверных условий и т.д. · Ошибки ввода-вывода – связаны с такими действиями, как управление вводом-выводом, формирование выходных записей и определение размеров записей. · Ошибки манипулирования данными – примерами таких ошибок являются неверно определенное число элементов данных, неверные начальные значения, присвоенные данным, неверно указанная длина операнда, имя переменной и т.д.

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

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

Читайте также:
Для чего нужна программа norton commander

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

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

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

Способы обеспечения и повышения надежности программ Они определены на следующие основные категории: 1. усовершенствование технологии программирования; 2. выбор алгоритмов, не чувствительных к различного рода нарушениям вычислительного процесса (использование алгоритмической избыточности); 3. резервирование программ – дуальное или N-версионное программирование, другие методы введения структурной избыточности; 4. контроль и тестирование программ с последующей коррекцией. Выбор алгоритмов, не чувствительных к нарушениям вычислительного процесса, основан на исследовании их чувствительности.

Мерой чувствительности могут являться погрешности, вызванные этими нарушениями. Результаты вычислений искажаются погрешностями: · исходных данных, трансформированными в ходе вычислений: · округления; · методическими; · обусловленными отказами, сбоями и ошибками в программе. Контрольные вопросы и задания 1. Что понимается под надежностью программного обеспечения (ПО)?

2. Что такое корректность ПО? 3. От чего зависит восстанавливаемость ПО компьютера и КС? 4. Определите основные причины отказов ПО. 5. Какие существуют пути повышения надежности ПО компьютеров и КС? 6. Почему при мультипрограммной обработке информации используют принцип виртуальных машин? Информация в лекции «20. Истечение жидкости через отверстия» поможет Вам.

7. Какой из способов обеспечения надежности программ считается более эффективным? 8. Что значит «усовершенствование технологии программирования»? 9. Дайте определение понятию «дуальное и N-версионное» программирование. 10. Как оценить вероятность безотказной работы программ? 11.

Что означает термин «алгоритмическая избыточность»? Литература: 1, 2, 3, 9, 10, 11.

Поделитесь ссылкой:

Рекомендуемые лекции

  • Эмбриональное развитие
  • 9 — Систематическая картотека статей
  • 9.1. Защита информации от потери и разрушения
  • 15. Коммутационные элементы
  • 20. Истечение жидкости через отверстия

Источник: studizba.com

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

Основными причинами непосредственно вызывающими нарушение нормального функционирования программы, являются [1, 2, 3, 10, 11]:

1. ошибки, скрытые в самой программе;

2. искажения входной информации, подлежащей обработке;

3. неверные действия пользователя;

4. неисправность аппаратуры установки, на которой реализуется вычислительный процесс.

1. Скрытые ошибки программы являются главным фактором нарушения нормальных условий его функционирования;

Можно выделить следующие основные ошибки в программе:

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

· Логические ошибки – являются причиной искажения алгоритма решения задачи. Такого рода ошибки возникают в связи с неверной передачей управления, неверном задании диапазона изменения параметров цикла, неверных условий и т.д.

· Ошибки ввода-вывода – связаны с такими действиями, как управление вводом-выводом, формирование выходных записей и определение размеров записей.

· Ошибки манипулирования данными – примерами таких ошибок являются неверно определенное число элементов данных, неверные начальные значения, присвоенные данным, неверно указанная длина операнда, имя переменной и т.д.

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

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

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

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

Причинами искажения вводимой информации могут быть, например, следующие:

· искажения данных на первичных носителях информации;

· сбои и отказы в аппаратуре ввода данных с первичных носителей информации;

Читайте также:
Navision что это за программа простыми словами

· шумы и сбои в каналах связи при передачи сообщений по линиям связи и т.д.

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

4. Неисправность аппаратуры – неисправности, возникающие при работе аппаратуры, используемой для реализации вычислительного процесса, оказывают влияние на характеристику надежности ПО. Появление отказа или сбоя в работе аппаратуры приводит к нарушению нормального хода вычислительного процесса и во многих случаях к искажению данных и текстов программ в основной и внешней памяти.

Источник: studopedia.ru

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

ЭВМ является единым комплексом ее аппаратных и программных средств, поэтому следует рассматривать надежность работы вычислительной аппаратуры совместно с программным обеспечением как надежность вычислительного процесса.

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

  • либо разработчиком програм­мы допущено нарушение спецификации—технических требований к программе;
  • либо спецификация неточная или неполная.

Несоответствие по первой причиневстречается в пер­вую очередь в сложных программных системах, где от­дельные ошибки программиста трудно обозримы и могут оставаться нераскрытыми. Несоответствие по второй причиневозникает в пер­вую очередь потому, что при составлении спецификации многие факторы, влияющие на работу программы, неиз­вестны. Они выясняются только постепенно, в ходе экс­плуатации программы. Особенно это относится к управ­ляющим программам. Кроме того, ни в технических требованиях, ни при проверке программы невозможно оговорить и проверить все ситуации, которые возникают при использовании программы. Поэтому записать в спецификациях все ситуации свойства функций, которые должна выполнить программа, будет не намного проще, чем раз­работать соответствующую программу. Например, легко подсчитать, что если входами для программы являются 10переменных, каждая из которых может приобретать 10 3 различных значений, то число возможных входных комбинаций будет 10 30 .Если допустить, что проверка реакции программы на каждую из входных комбинаций занимает только одну микросекунду, то в году возможно приблизительно только 310 13 проверок (!)(2,5 года).Поэтому естественно, что в разработанной программе всегда мо­гут встречаться непроверенные сочетания исходных дан­ных, при поступлении которых в ходе эксплуатации про­грамма может отказать в выполнении нужных функций. Поскольку не всегда возможно составлять точную спецификацию, предлагается классифицировать программы по степени точности специфи­кацииследующим образом: 1)программы, функции которых полностью определя­ются спецификацией; 2)программы, функции которых корректируются со­поставлением вычислительных и измеренных результатов (сюда относятся моделирующие программы, т.е. про­граммы, реализующие математическую модель физичес­кого объекта); 3)программы, действующие в постоянно изменяю­щейся среде (состоящей из других программ, данных, пользователей, реальных систем и установок и т.п.; сюда относятся операционные системы, программы управления воздушным движением, программы управления ресурса­ми и др.). Надежность программы определяется ее безотказностью и восстанавливаемостью.

  • Безотказность программы характеризуется средним временем между возникновением отказов в функционировании программы, при этом аппаратура находится в исправном состоянии и работоспособна. Характеристики функционирования программы зависят только от ее качества, предопределяемого процессом разработки.

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

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

Восстановление после отказа в программе может заключаться:

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

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

  1. от сложности структуры комплекса программ;
  2. используемого языка и технологий программирования;
  3. стиля программирования;
  4. квалификации программиста;
  5. качества сопроводительной документации на программу и т.д.

Характерной особенностью ошибок, обусловливающих отказы программ, является скрытость ошибок— это означает, что скрытая ошибка проявляется только при отдельных редких комбинациях из огромного количества возможных комбинаций исходных данных и поэтому об­наруживается не сразу, а только в ходе длительной экс­плуатации. Ошибки, проявляющиеся при любых исход­ных данных(явные ошибки),не опасны, поскольку обнаруживаются сра­зу, при первых пробных прогонах программы. Пример устранения скрытой ошибки в программе. Пусть прог­рамма предназначена для вычисления функции у=(аsinx)/x+bприx/2.Если ошибкой является, например, наличие в формуле знака минус вместо знака плюс, то такая ошибка проявляется сразу, при любых вычислениях, за исключением случая, когдаb=0. Однако программа будет содержать и скрытую ошибку в виде неопределен­ности при х=0, которая при числовых вычислениях проявляется как большая погрешность вычислений приx, где—некоторое малое число.Правильная программа должна быть составлена по выражению:  (аsinx)/x+bприx/2y=a+bприx Сравним интенсивности отказов в зависимости от времени эксплуатации аппаратных средств и программ. Из графика видно, что-характеристика на начальном периоде эксплуатации имеет большое значение (t1 ) и называется периодом приработки аппаратуры, на котором в первую очередь выходят из строя элементы с заводским браком. Периодt1-t2 называется периодом нормальной работы, который характеризуется приблизительно одинаковой интенсивностью отказов элементов, а приt>t2 наступает период старения элементов и число отказов возрастает вследствие отклонения параметров элементов от номинальных. Снижение интенсивности отказов в программе от времени объясняется тем, что в процессе эксплуатации программы обнаруживаются и устраняются скрытые ошибки, заложенные на этапе ее разработки, хотя зависимость надежности программы от времени является косвенной и зависит от многих факторов. Теория надежности аппаратуры частично применима к проблеме надежности программного обеспечения, учи­тывая следующие различия между надежностью аппара­туры и программного обеспечения: — элементы программного обеспечения не стареют из-за износа или усталости; — для контроля программного обеспечения имеется на­много больше путей и способов, чем для контроля аппа­ратуры; — в программном обеспечении имеется намного больше объектов для контроля, чем в аппаратуре; — в аппаратуре использование стандартных элементов распространено намного шире, чем в системе програм­много обеспечения; — количество документации по программному обеспече­нию огромное по сравнению с количеством документации по аппаратуре; — внести изменения в программы просто, но трудно де­лать это корректно. Классификация ошибок программирования.Анализ ошибок программирования основан на их классифика­ции. Ошибки программ могут быть разделены:

  • на ошибки, обусловленные ограниченными возможностями програм­мы (отказ в получении результатов за заданное время или при заданных ограничениях по объему вычислений);
  • на логические ошибки (выражаются в получении неправильных результатов, не взирая на время и объем вычислений), причинами которых могут быть;
  • ошибки, скрытые в самой программе;
  • искажения входной информации:
  • при вводе с клавиатуры;
  • при вводе с первичных носителей;
  • из-за ошибок в документации (инструкции оператора);
  • неверные действия оператора, связанные с неправильной интерпретацией сообщений и неправильными действиями оператора в процессе диалога;
  • сбои в работе аппаратуры, на которой реализуется вычислительный процесс.
Читайте также:
Клипарт программа что это такое

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

Причина ошибки Частота появления, %
Неполное или ошибочное задание Отклонение от задания Пренебрежение правилами программирования Ошибочная выборка данных Ошибочная логика или последовательность операций Ошибочные арифметические операции Нехватка времени для решения Неправильная обработка прерываний Неправильные постоянные или исходные данные Неточная запись 28 12 10 10 12 9 4 4 3 8

Таблица 6.2 – Типы ошибок в ТЗ

Причина ошибки Частота появления, %
Ошибки в числовых значениях Недостаточные требования к точности Ошибочные символы или знаки Ошибки оформления Неправильное описание аппаратуры Основы разработки неполные или неточные Двусмысленность требований 12 4 2 15 2 52 13

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

Источник: studfile.net

Аварийный отказ (программирование)

Отказавший iMac

Аварийный отказ [1] [2] (также катастрофический отказ [1] [2] , авария [3] [2] , фатальный сбой [2] , разг. крах, вылет, падение, крэш англ. crash ) — это аварийное завершение программы или операционной системы, когда они перестают нормально функционировать.

Часто программа зависает, пока не будет создан отчёт об ошибке с подробностями отказа.

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

Большинство отказов являются результатом выполнения недопустимых машинных инструкций. Например, когда счётчик команд установлен на неправильный адрес, или в результате переполнения буфера перезаписывается часть данных программы из-за ошибки. Это приводит к доступу к случайным значениям данных в памяти, которые уже не соответствуют начальному запросу, и происходит обработка исключений в процессоре.

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

  • 1 Отказы программ
  • 2 Отказ Web-сервера
  • 3 См. также
  • 4 Примечания
  • 5 Литература
  • 6 Ссылки

Источник: wiki2.org

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru