Программная ошибка как пишется

ПРОГРА́ММНЫЙ, —ая, —ое. 1. Прил. к программа. Дискуссия по программным вопросам. Программные установки партии. Программный центр радиовещания. Готовить к экзамену программный материал.

Все значения слова «программный»

ОШИ́БКА, -и, род. мн.бок, дат.бкам, ж. 1. Неправильность в какой-л. работе, вычислении, написании и т. п. Допустить ошибку. Грамматическая ошибка.

Все значения слова «ошибка»

  • Уже в 2010 г. блокчейн подтвердил свою эффективность при защите пользователей от программных ошибок.

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

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

  • (все предложения)
  • программный код
  • вредоносное программное обеспечение
  • программное обеспечение
  • программный модуль
  • версия программного обеспечения
  • (ещё синонимы…)
  • ошибаться
  • ошибочность
  • неправильно
  • промах
  • опечатка
  • (ещё ассоциации…)
  • программное обеспечение
  • разработка программного обеспечения
  • разработать программное обеспечение
  • (полная таблица сочетаемости…)
  • большая ошибка
  • ошибки прошлого
  • исправление ошибок
  • ошибка вышла
  • совершать ошибку
  • (полная таблица сочетаемости…)
  • Разбор по составу слова «программный»
  • Разбор по составу слова «ошибка»
  • Как правильно пишется слово «программный»
  • Как правильно пишется слово «ошибка»

программная ошибка

программная ошибка

программная ошибка
ошибка (в используемом) ПО


[Е.С.Алексеев, А.А.Мячев. Англо-русский толковый словарь по системотехнике ЭВМ. Москва 1993]

Тематики

  • информационные технологии в целом

Синонимы

  • ошибка (в используемом) ПО

Справочник технического переводчика. – Интент.
2009-2013.

Смотреть что такое «программная ошибка» в других словарях:

  • программная ошибка — programinė klaida statusas T sritis automatika atitikmenys: angl. program error; software error vok. Programmfehler, m; Softwarefehler, m rus. программная ошибка, f pranc. erreur du programme, f …   Automatikos terminų žodynas

  • Спирит (марсоход) — У этого термина существуют и другие значения, см. Спирит. Спирит Mars Exploration Rover A …   Википедия

  • Электроника Д3-28 — …   Википедия

  • Защитное программирование — стиль написания программ, при котором появляющиеся ошибки легко обнаруживаются и идентифицируются программистом. Защитное программирование предполагает соблюдение трех основных принципов: 1 входные данные каждого модуля должны тщательно… …   Финансовый словарь

  • Нео (Матрица) — В Википедии есть статьи о других людях с именем Нео. В Википедии есть статьи о других людях с такой фамилией, см. Андерсон. Описание сюжета в статье является слишком длинным или подробным в сравнении с остальным текстом статьи …   Википедия

  • Спектр (книга) — У этого термина существуют и другие значения, см. Спектр (значения). Спектр Автор: Сергей Лукьяненко Жанр: Фантастика Язык оригинала: Русский Серия: Звездный лабиринт Издательство …   Википедия

  • Спектр (роман) — У этого термина существуют и другие значения, см. Спектр (значения). Спектр Автор: Сергей Лукьяненко Жанр: Фантастика …   Википедия

  • Ингибиторы АПФ — (ингибиторы ангиотензин превращающего фермента, иАПФ)  группа природных и синтетических химических соединений, применяющихся для лечения и профилактики сердечной (обычно в дозах, не снижающих артериальное давление) и почечной недостаточности …   Википедия

  • Programmfehler — programinė klaida statusas T sritis automatika atitikmenys: angl. program error; software error vok. Programmfehler, m; Softwarefehler, m rus. программная ошибка, f pranc. erreur du programme, f …   Automatikos terminų žodynas

  • Softwarefehler — programinė klaida statusas T sritis automatika atitikmenys: angl. program error; software error vok. Programmfehler, m; Softwarefehler, m rus. программная ошибка, f pranc. erreur du programme, f …   Automatikos terminų žodynas

На букву П Со слова «программная»

Фраза «программная ошибка»

Фраза состоит из двух слов и 17 букв без пробелов.

  • Синонимы к фразе
  • Написание фразы наоборот
  • Написание фразы в транслите
  • Написание фразы шрифтом Брайля
  • Передача фразы на азбуке Морзе
  • Произношение фразы на дактильной азбуке
  • Остальные фразы со слова «программная»
  • Остальные фразы из 2 слов

Видео ОШИБКА PUBG LITE Ваш клиент будет закрыт из за обнаружения неавторизованного програмного обеспечения (автор: ARTMIN)01:35

ОШИБКА PUBG LITE Ваш клиент будет закрыт из за обнаружения неавторизованного програмного обеспечения

Видео Самый простой ремонт жесткого диска Seagate. Программная ошибка инициализации винта (автор: Мастерская МастерОК)12:25

Самый простой ремонт жесткого диска Seagate. Программная ошибка инициализации винта

Видео Распространенная причина плохого запуска Ford Transit 2.4TDCi, H9FA - программная ошибка (автор: СТО Ковш)04:09

Распространенная причина плохого запуска Ford Transit 2.4TDCi, H9FA — программная ошибка

Видео В тылу врага ошибка program will be terminated (автор: RWG-team)02:19

В тылу врага ошибка program will be terminated

Видео Проверка старых багов и дюпов! - Terraria 1.4! (автор: The Alex)12:22

Проверка старых багов и дюпов! — Terraria 1.4!

Видео Все баги в пигги которые я знаю (автор: SAYRU)23:24

Все баги в пигги которые я знаю

Синонимы к фразе «программная ошибка»

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

Фразы

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

Ваш синоним добавлен!

Написание фразы «программная ошибка» наоборот

Как эта фраза пишется в обратной последовательности.

акбишо яанммаргорп 😀

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

Как эта фраза пишется в транслитерации.

в латинской🇬🇧 programmnaya oshibka

Как эта фраза пишется в пьюникоде — Punycode, ACE-последовательность IDN

xn--80aah1bagchjc4o xn--80abujr4d

Как эта фраза пишется в английской Qwerty-раскладке клавиатуры.

ghjuhfvvyfzjib,rf

Написание фразы «программная ошибка» шрифтом Брайля

Как эта фраза пишется рельефно-точечным тактильным шрифтом.

⠏⠗⠕⠛⠗⠁⠍⠍⠝⠁⠫⠀⠕⠱⠊⠃⠅⠁

Передача фразы «программная ошибка» на азбуке Морзе

Как эта фраза передаётся на морзянке.

⋅ – – ⋅ ⋅ – ⋅ – – – – – ⋅ ⋅ – ⋅ ⋅ – – – – – – ⋅ ⋅ – ⋅ – ⋅ – – – – – – – – ⋅ ⋅ – ⋅ ⋅ ⋅ – ⋅ – ⋅ –

Произношение фразы «программная ошибка» на дактильной азбуке

Как эта фраза произносится на ручной азбуке глухонемых (но не на языке жестов).

Передача фразы «программная ошибка» семафорной азбукой

Как эта фраза передаётся флажковой сигнализацией.

jpgfpnllanwgëdhxn

Остальные фразы со слова «программная»

Какие ещё фразы начинаются с этого слова.

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

Ваша фраза добавлена!

Остальные фразы из 2 слов

Какие ещё фразы состоят из такого же количества слов.

  • а вдобавок
  • а вдруг
  • а ведь
  • а вот
  • а если
  • а ещё
  • а именно
  • а капелла
  • а каторга
  • а ну-ка
  • а приятно
  • а также
  • а там
  • а то
  • аа говорит
  • аа отвечает
  • аа рассказывает
  • ааронов жезл
  • аароново благословение
  • аароново согласие
  • аб ово
  • абажур лампы
  • абазинская аристократия
  • абазинская литература

Комментарии

@bgnwk 07.01.2020 17:50

Что значит фраза «программная ошибка»? Как это понять?..

Ответить

@jowecsk 30.08.2022 13:59

1

×

Здравствуйте!

У вас есть вопрос или вам нужна помощь?

Спасибо, ваш вопрос принят.

Ответ на него появится на сайте в ближайшее время.

А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я

Транслит Пьюникод Шрифт Брайля Азбука Морзе Дактильная азбука Семафорная азбука

Палиндромы Сантана

Народный словарь великого и могучего живого великорусского языка.

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

По всем вопросам просьба обращаться в письмошную.

Готовая программа не всегда работает как надо. Бывает, возникают баги, предупреждения, исключения. В итоге программа зависает, дает сбой или вылетает. Но это не конец света. Любую ошибку в коде можно исправить, если знать, почему она возникла.

Программная ошибка: что это и почему возникает

Программная ошибка — это дефект в коде. Из-за него программа сбоит или выдает неверные результаты. Некоторые ошибки серьезные — например, блокируют логин и пароль, из-за чего пользователь не может попасть в личный кабинет. А другие незаметны. Некоторое время программа работает как будто бы исправно — и только потом начинает глючить.

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

Научитесь находить ошибки в приложениях и на сайтах до того, как ими начнут пользоваться клиенты. Для этого освойте профессию «Инженер по тестированию». Изучать язык программирования необязательно. Тестировщик работает с готовыми сайтами, приложениями, сервисами, а не с кодом. В программе от Skypro: четыре проекта для портфолио, практика с обратной связью, все основные инструменты тестировщика.

Ошибки часто называют багами, но подразумевают под ними разное, например:

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

Исключения. Это не ошибки, а особые ситуации, которые нужно обработать.

Синтаксические ошибки. Это ошибка в программе, связанная с написанием кода. Пример: программист забыл поставить точку или неверно написал название оператора. Если не исправить, код программы не запустится, а останется просто текстом.

Классификация багов

У багов есть два атрибута — серьезности (Severity) и приоритета (Priority). Серьезность касается технической стороны, а приоритет — организационной.

🚨 По серьезности. Атрибут показывает, как сильно ошибка влияет на общую функциональность программы. Чем выше значение атрибута, тем хуже.

По серьезности баги классифицируют так:

  • Blocker — блокирующий баг. Программа запускается, но спустя время баг останавливает ее выполнение. Чтобы снова пользоваться программой, блокирующую ошибку в коде устраняют.
  • Critical — критический баг. Нарушает функциональность программы. Появляется в разных частях кода, из-за этого основные функции не выполняются.
  • Major — существенный баг. Не нарушает, но затрудняет работу основного функционала программы либо не дает функциям выполняться так, как задумано.
  • Minor — незначительный баг. Слабо влияет на функционал программы, но может нарушать работу некоторых дополнительных функций.
  • Trivial — тривиальный баг. На работу программы не влияет, но ухудшает общее впечатление. Например, на экране появляются посторонние символы или всё рябит.

🚦 По приоритету. Атрибут показывает, как быстро баг необходимо исправить, пока он не нанес программе приличный ущерб. Бывает таким:

  • Top — наивысший. Такой баг — суперсерьезный, потому что может обвалить всю программу. Его устраняют в первую очередь.
  • High — высокий. Может затруднить работу программы или ее функций, устраняют как можно скорее.
  • Normal — обычный. Баг программу не ломает, просто где-то что-то будет работать не совсем верно. Устраняют в штатном порядке.
  • Low — низкий. Баг не влияет на программу. Исправляют, только если у команды есть на это время.

Типы ошибок в программе

🧨 Логические. Приводят к тому, что программа зависает, работает не так, как надо, или выдает неожиданные результаты — например, не записывает файл, а стирает.
Логические ошибки коварны: их трудно обнаружить. Программа выглядит так, будто в ней всё правильно, но при этом работает некорректно. Чтобы победить логические ошибки, специалист должен хорошо ориентироваться в коде программы.

🧨 Синтаксические. Это опечатки в названиях операторов, пропущенные запятые или кавычки. Безобидные ошибки: их обнаруживают и подсвечивают в коде компиляторы, а программисту остается исправить.

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

🧨 Компиляционные. Любая программа — это текст. Чтобы он заработал как программа, используют компилятор. Он преобразует программный код в машинный, но одновременно может вызывать ошибки.

Компиляционные баги появляются, если что-то не так с компилятором или в коде есть синтаксические ошибки. Компилятор будто ругается: «Не понимаю, что тут написано. Не знаю, как обработать».

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

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

🧨 Арифметические. Бывает, в коде есть числовые переменные и математические формулы. Если где-то проблема — не указаны константы или округление сработало не так, возникает баг. Надо лезть в код и проверять математику.

Инженер-тестировщик: новая работа через 9 месяцев

Получится, даже если у вас нет опыта в IT

Узнать больше

Что такое исключения в программах

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

Как это происходит:

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

Исключения бывают программными и аппаратными:

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

Как контролировать баги в программе

🔧 Следите за компилятором. Когда компилятор преобразует текст программы в машинный код, то подсвечивает в нём сомнительные участки, которые способны вызывать баги. Некоторые предупреждения не обозначают баг как таковой, а только говорят: «Тут что-то подозрительное». Всё подозрительное надо изучать и прорабатывать, чтобы не было проблемы в будущем.

🔧 Используйте отладчик. Это программа, которая без участия айтишника проверяет, исправно ли работает алгоритм. В случае чего сообщает об ошибках. Например, отладчик используют для построчного выполнения программы. Вместе с тем проверяют значения переменных: фактические сравнивают с ожидаемыми. Если что-то не сходится, ищут баги и исправляют.

🔧 Проводите юнит-тесты. Это когда разработчик или тестировщик описывает ситуации для каждого компонента и указывает, к какому результату должна привести программа. Потом запускает проверку. Если результат не совпадает с ожидаемым, появляется предупреждение. Дальше программисты находят и устраняют проблему.

Ключевое: что такое ошибки в программировании

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

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

Для наиболее полного обнаружения и устранения ошибок программы, как правило, в процессах разработки программного обеспечения , т.е. ЧАС. Перед фактическим «продуктивным» использованием программного обеспечения пройдите этап проекта « тестирования программного обеспечения », во время которого проводится валидация. Ошибки, возникающие во время этого процесса, являются обычными, и цель тестирования — их найти, в то время как ошибки во время работы могут представлять собой критические аномалии / сбои в зависимости от эффекта ошибки. На практике компьютерные программы редко появляются без программных ошибок. Среди прочего известна качественная функция программ. плотность дефектов . Он описывает количество ошибок на 1000 строк кода ( килограмм строк исходного кода ) или на функциональную точку .

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

Так называемые средства отслеживания ошибок (такие как Bugzilla или Mantis ) используются для записи и документирования . Сюда входят отчеты об ошибках, а также предложения по улучшению и запросы (так называемые запросы функций ) от пользователей или общих процессов. См. Также управление дефектами .

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

Определения

Ошибка программы или программного обеспечения, основанная на общем определении слова » ошибка »

«Несоблюдение требования (EN ISO 9000: 2005)».

В частности, ошибка определяется как

«Отклонение ФАКТИЧЕСКИХ (наблюдаемых, определенных, вычисленных состояний или процессов) от ЗАДАЧИ (определенных, правильных состояний и процессов), если оно превышает предварительно определенный предел допуска [который также может быть 0]».

Согласно ISTQB , термин «ошибка» образован из следующих контекстов:

  • неисправны действие (английский Error)
«Действия человека, приводящие к возникновению состояния ошибки ([согласно IEEE 610])»
  • … приводит к состоянию ошибки (англ. Defect)
«Дефект (состояние внутренней неисправности) в компоненте или системе, который может нарушить требуемую функцию продукта …»
  • эффект вина может (англ. Неудача) приводят к
«Проявление внутренней ошибки в выполнении [программы] как некорректное поведение или результат либо как сбой системы».
Пример деления на ноль : Неправильное действие: Ноль как возможное входное значение не проверялось / не исключалось; Статус ошибки: программа некорректна (возможно, незамеченная); Ошибка: ввод нулевого значения вызывает ошибку времени выполнения при выполнении команды .

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

«Ошибка» как синоним ошибки программы

Страница журнала релейного калькулятора Mark II Aiken с первой ошибкой (1947)

Слово « ошибка» в переводе с английского означает « Schnabelkerf ; Ошибка »и в просторечии« сельское членистоногое »или« (насекомоподобный) паразит ». На жаргоне американских инженеров значение «неисправность» или «ошибка конструкции» засвидетельствовано с конца 19 века; Это использование слова основано на (шутливой) идее о том, что маленький ползающий скот возится с коробкой передач, линией и т. Д. Самым старым свидетельством являются два письма Томаса Эдисона от 1878 года Уильяму Ортону , президенту телеграфной компании Western Union , и Тивадару Пушкашу , изобретателю телефонной станции , в которых говорится:

«[…] Я обнаружил« жучок »в своем аппарате, но не в самом телефоне. Он был из рода callbellum ».

«[…] Я нашел« жучок »в своем наборе, но не в самом телефоне. Он был из рода« callbellum »».

Томас Эдисон в письме Уильяму Ортону от 3 марта 1878 г.

в качестве

«Первый шаг [во всех моих изобретениях] — это интуиция, и она приходит со всплеском, затем возникают трудности — эта штука выдает, и [это] тогда« жуки »- как называются такие маленькие ошибки и трудности — показывают самих себя […]. »

«Первым шагом [во всех моих изобретениях] является интуитивная мысль, которая приходит во время вспышки болезни, но затем возникают трудности — вещь перестает работать, и тогда [это]« ошибки »- как такие маленькие ошибки и трудности, которые называются — показать себя […] «.

Томас Эдисон в письме Тивадару Пушкашу от 18 ноября 1878 г.

Эдисон не изобретатель, но, по крайней мере, ключевой свидетель значения этого слова, которое тогда было в ходу. Связь этого термина с компьютерами, возможно, восходит к пионеру компьютеров Грейс Хоппер . Они распространили историю о том, что 9 сентября 1945 года бабочка вызвала неисправность реле в компьютере- калькуляторе реле Mark II Aiken . Бабочка была удалена, засунута в журнал и сделана следующая запись: « Первый реальный случай обнаружения ошибки. (По-немецки: «Впервые на самом деле был обнаружен« паразит ».»). Легенда о нахождении этого термина сохраняется, хотя запись в журнале указывает, что этот термин уже использовался раньше. Вдобавок Грейс Хоппер ошиблась насчет года: инцидент на самом деле произошел 9 сентября 1947 года. Соответствующая страница журнала хранилась в Компьютерном музее ВМС США в Дальгрене , штат Вирджиния, до начала 1990-х годов . Эта страница журнала регистрации бабочек в настоящее время находится в Смитсоновском институте .

Типы ошибок

В программной инженерии (см. Также) различают следующие типы ошибок в программах:

  • Лексические ошибки — это строки символов, которые нельзя интерпретировать, т.е. неопределенные идентификаторы (переменные, функции, литералы …)
  • Синтаксические ошибки — это нарушения грамматических правил используемого языка программирования , например, неправильное использование зарезервированных символов (например, отсутствие скобок), конфликты типов, неправильное количество параметров.

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

  • Семантические ошибки — это ошибки, при которых запрограммированная инструкция является синтаксически правильной, но все же неверной с точки зрения содержания, например, путаница в коде команды, неправильный порядок параметров, который не может быть распознан синтаксически.
  • Логические ошибки заключаются в подходе к решению проблем, который неверен в деталях, например, из-за неправильного вывода , неверно интерпретированной спецификации или просто оплошности или типографской ошибки. Примеры: плюс вместо минуса, аменьшеменьшего / равны,т.д. терпимостиотношению к таким ошибкам и атрибутивной грамматикиязыков программирования, которыепредназначены для ограничения их, например, назначения совместимостис типами данных , являютсяочень разныезависимости на используемом языке программирования, и может быть трудно понять бреши в безопасности и вызвать сбои программы .
  • Ошибки проектирования — это ошибки в основной концепции, либо в определении требований к программному обеспечению, либо при разработке проекта программного обеспечения, на основе которого разрабатывается программа. Ошибки в определении требований часто возникают из-за незнания предметной области, для которой написано программное обеспечение, или из-за недопонимания между пользователями и разработчиками. С другой стороны, ошибки непосредственно в разработке программного обеспечения часто могут быть связаны с отсутствием опыта у разработчика программного обеспечения , неструктурированным программированием или последующими ошибками из-за ошибок в спецификации требований . В других случаях дизайн со временем разросся и со временем становится запутанным, что, в свою очередь, может привести к ошибкам проектирования при дальнейшей разработке программы. Часто программирование выполняется напрямую без правильной концепции , что может привести к ошибкам проектирования, особенно если программное обеспечение более сложное. Ошибки в определении требований, а также в разработке программного обеспечения часто возникают из-за нехватки средств или времени. Типичной ошибкой проектирования является повторение кода , которое не ведет напрямую к программным ошибкам, но может быть легко упущено из виду во время обслуживания программного обеспечения , модификации или расширения программного кода, что неизбежно приводит к нежелательным эффектам.
  • Ошибка в концепции управления. Программа ведет себя не так, как ожидают отдельные или многие пользователи, хотя технически она работает безупречно.

Прочие условия ошибки

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

Пример воздействия программной ошибки

Если в языках программирования без автоматической сборки мусора (например, C или C ++ ) память больше не освобождается после использования, программа будет использовать все больше и больше памяти в долгосрочной перспективе. Такая ситуация называется утечкой памяти . Однако аналогичные проблемы могут возникать и в языках программирования с автоматической сборкой мусора (например, Java или C # ), если, например, объекты накапливаются неконтролируемым образом из-за низкоуровневого программирования . Еще более критичными являются области памяти, случайно освобожденные программистом , на которые часто все еще ссылаются висячие указатели , поскольку это может привести к полностью неконтролируемому поведению программного обеспечения. Поэтому некоторые среды выполнения обычно не допускают такие программируемые высвобождения памяти. Также есть ошибки во взаимодействии с другими программами.

  • Ошибки в компиляторе, среде выполнения или других библиотеках. Такие ошибки обычно особенно трудно понять, потому что поведение программы в таких случаях не соответствует ее семантике. В частности, ожидается, что компилятор и среда выполнения будут особенно надежными.
  • Ошибка регрессии ( регресс означает «шаг назад») — это ошибка, которая появляется только в более поздних версиях программы. Часто это необнаруженные побочные эффекты исправлений ошибок или изменений программ в других местах.
  • Ошибки в результате физических условий эксплуатации. Широкий спектр событий, таких как электромагнитные поля, излучение, колебания температуры, вибрации и т. Д., Также может привести к ошибкам в системах, которые иначе сконфигурированы и работают в соответствии со спецификациями. Ошибки этого типа очень маловероятны, их очень трудно обнаружить и могут иметь фатальные последствия для приложений реального времени. Однако по статистическим причинам их нельзя исключать. Известное «падение бит» в памяти или на жестком диске из-за описанных влияний является, например, такой ошибкой. Как последствия такой ошибки (например, сбой системы или невозможность загрузки из-за того, что системный файл имеет был поврежден), от которого обычно очень трудно отличить другие программные ошибки, часто подозревают другую причину, тем более что такая ошибка часто невоспроизводима.
  • Программные ошибки против программных ошибок: поскольку эти два термина не понимаются как синонимы, более широкое определение может также применяться к « программным ошибкам » — в соответствии с разницей в значении компьютерной программы и программного обеспечения : в соответствии с этим, ошибки или недостатки в документации также будут программные ошибки, независимо от того, привели ли они к ошибочным программам. Неправильные данные (этот термин также присваивается программному обеспечению в зависимости от определения) вряд ли следует рассматривать как ошибку программы, а скорее как ошибку программного обеспечения.

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

Конкретные примеры ошибок с определенным влиянием СМИ можно найти в списке примеров ошибок программ .

Экономический смысл

Программные ошибки — это гораздо больше, чем просто неприятные сопутствующие обстоятельства для разработчиков программного обеспечения; они вызывают значительные затраты с коммерческой и экономической точки зрения . Исследование IX 1/2006 показало, что z. B. следующие значения, определенные для Германии:

  • Ежегодные убытки из-за программных ошибок в средних и крупных компаниях составляют около 84,4 млрд евро.
  • Около 14,4 млрд евро ежегодно (35,9% бюджета ИТ) расходуется на устранение программных ошибок ;
  • Потери производительности из-за сбоев компьютеров из-за неисправного программного обеспечения составляют около 70 миллиардов евро.

В том же исследовании также исследуется развитие качества программного обеспечения за период с 2002 по 2004 год. Результатом является:

  • процент неудачных проектов вырос с 15% до 18%
  • процент успешных проектов упал с 34% до 29%
  • процент проектов с перерасходом средств увеличился с 43% до 56%
  • доля проектов с отставанием в срок выросла с 82% до 84%
  • доля проектов с подходящей функциональностью упала с 67% до 64%

Отчет Высшего аудиторского управления новых проектов (1985 г.) при федеральной администрации США показывает особенно большое количество неудач, согласно которым

  • 27% оплаченного программного обеспечения так и не были доставлены,
  • 52% никогда не работали,
  • 18% были использованы только после капитального ремонта.
  • Только 3% заказанного программного обеспечения соответствовали согласованным договорным условиям.

Standish Group International заявила: в среднем проекты превышают

  • первоначально запланированная стоимость проекта на 89%
  • назначенных приемов на 222%.

Евуси-Менах определила следующие факторы как причины отмены проекта из-за низкого качества программного обеспечения:

  • Объективно неясно
  • Неправильная занятость проектной команды
  • Недостаточная гарантия качества
  • Отсутствие технических ноу-хау
  • Недостаточный учет исходной ситуации
  • Отсутствие участия пользователя

Предотвращение и исправление программных ошибок

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

Во время планирования

Самое главное — грамотное и грамотное планирование процесса разработки. Уже существует ряд процедурных моделей, из которых можно выбрать подходящую.

На этапе анализа

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

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

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

На этапе проектирования

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

При программировании

Кроме того, предлагается ряд расширенных приложений, которые анализируют либо исходный код, либо двоичный код и пытаются найти ошибки, которые часто допускаются автоматически. В эту категорию входят программы для мониторинга выполнения, которые обычно надежно обнаруживают некорректные обращения к памяти и утечки памяти . Примерами являются свободно доступный инструмент Valgrind и коммерческий Purify . Другая категория тестовых программ включает приложения, которые статически анализируют исходный или двоичный код, например, обнаруживают и сообщают о незакрытых ресурсах и других проблемах. К ним относятся FindBugs , Lint и Splint .

При тестировании

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

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

Оперативный

Если во время работы возникает ошибка, необходимо попытаться минимизировать ее последствия и ограничить сферу своей деятельности путем создания «защитных стен» или «мер безопасности». Это требует, с одной стороны, способности обнаруживать ошибки, а с другой — способности адекватно реагировать на ошибку.

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

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

Безупречность

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

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

Помимо математической проверки, существует также практическая форма проверки, которая описывается стандартом менеджмента качества ISO 9000 . С его помощью ошибка формально констатируется только в том случае, если требование не выполняется. И наоборот, результат работы (а значит, и программное обеспечение ) можно охарактеризовать как «безошибочный», если он явно соответствует всем требованиям. Выполнение требования определяется тестами . Если все тесты, определенные для требования, приносят ожидаемые результаты, требование выполнено. Если это относится к тестам всех требований (при условии правильного и полного тестирования), делается вывод об отсутствии ошибок в отношении требований. Если требования, на которых основаны тесты, ошибочны или неполны, программное обеспечение все равно не будет работать «должным образом».

Классификация дефектов

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

Критерии, по которым можно классифицировать ошибки, включают: (с примерами):

  • Тип ошибки: различаются: лексические ошибки (неизвестная ссылка), синтаксические ошибки (забытая точка с запятой), семантические ошибки (неправильное объявление ), ошибки времени выполнения (неверно отформатированные входные данные) и логические ошибки (плюс вместо минуса, цикл ошибки , …)
  • причина ошибки: неточная спецификация, повернутые числа, неверная формула, непроверенные (неверные) входные данные …
  • момент времени, в который произошла ошибка («неправильное действие»): Уже в спецификации программы, в черновике кода, в кодировке, …
  • Время, в которое возникает ошибка («эффект ошибки»): фундаментальное различие возникает в зависимости от того, возникает ли ошибка во время разработки программы, например, во время тестирования (здесь это нормальный случай) или в продуктивной работе (где она часто представляет собой критическую ситуацию). вина).
  • момент времени обнаружения: чем больше «время ожидания ошибки», тем больше времени требуется i. A. Корректирующее действие будет продолжено.
  • последствия ошибки: ошибки отображения, неверные результаты, завершение программы, внешние эффекты …
  • Трудоемкость и продолжительность устранения неполадок: минимальные … очень высокие; немедленно … очень долгое время;
  • Статус обработки: выполнено, проверено, исправление выполняется , возможна повторная проверка , …, выполнено

С помощью показателей «результаты [и понимание ошибок] также должны способствовать поиску причин, стоящих за проблемами». «Классификация ошибок формирует основу для стандартизированных процедур обработки ошибок, а также поддерживает постоянное улучшение качества в смысле управления качеством ». Дополнительная информация по каждой ошибке, такая как подробное описание ошибки, затронутые программы, вовлеченные лица и т. Д., Сопровождает меры по устранению ошибок. устранение ошибок и их документирование. Для получения дополнительной информации см. Руководство BITKOM.

Для простоты программные ошибки в процессе обработки ошибок часто делятся только на категории / классы, такие как A, B, C … или 1, 2, 3 … и т. Д., В зависимости от серьезности ошибки, который также включает влияние ошибки и усилия, необходимые для ее исправления. Примеры см. В рекомендациях BITKOM, особенно в приложении.

Последствия ошибок программы

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

Конкретные примеры программных ошибок и их последствий можно найти в списке примеров программных ошибок .

Воспроизводимость программных ошибок

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

Дальнейшие темы

  • Чтобы узнать о принципе доставки «незрелого» программного обеспечения, см. Принцип банана # Банановая посуда .

литература

  • Уильям Э. Перри: Тестирование программного обеспечения. Mitp-Verlag, Бонн 2002, ISBN 3-8266-0887-9 .
  • Эльфрида Дастин, Джефф Рашка, Джон Пол: Автоматическое тестирование программного обеспечения. Порядок действий, обращение и исполнение. Springer, Berlin et al. 2001, ISBN 3-540-67639-2 .
  • Джем Канер, Джек Фальк, Хунг Куок Нгуен: Тестирование компьютерного программного обеспечения. 2-е издание. John Wiley & Sons, Нью-Йорк, штат Нью-Йорк и др. 1999, ISBN 0-471-35846-0 .

веб ссылки

Викисловарь: ошибки  — объяснение значений, происхождение слов, синонимы, переводы

  • 25 самых опасных ошибок программирования (английский)
  • SQS: Самые заметные программные ошибки 2012 года. В: Computerwoche. 17 января 2013, доступ к 20 января 2013 .

Индивидуальные доказательства

  1. а б в М. Пол, Т. Кумен, А. Спиллнер: Управление и оптимизация процесса тестирования. dpunkt.Verlag, Heidelberg 2002, ISBN 3-89864-156-2 .
  2. Spillner et al. Тест на практические знания по программному обеспечению — руководство по тестированию, читая образец гл. 1.1 Базовые знания / определение ошибок ( памятка от 17 декабря 2010 г. в Интернет-архиве ) (PDF) dpunkt.de
  3. Полный словарь Merriam-Webster (приложение для iOS, 2016): ошибка: а) насекомое или другое ползающее или ползающее беспозвоночное… б) любое из определенных насекомых, обычно считающихся особенно неприятными… в) насекомое отряда Hemiptera , особенно: член подотряда Heteroptera …
  4. Записки Томаса А. Эдисона, т. 4, изд. Пол Б. Исраэль, Балтимор и Лондон, 1993. Интернет [1]
  5. ^ Фред Р. Шапиро: этимология компьютерной ошибки: история и фольклор . В: Американская речь 62: 4, 1987, стр. 376-378.
  6. a b informatik.uni-oldenburg.de
  7. iX-Magazin , Study Software Test Management , ранее был доступен в IX Kiosk ( Memento от 9 января 2013 г. в Интернет-архиве )
  8. a b Wallmüller: Управление качеством программного обеспечения на практике, beck-shop.de (PDF; 612 kB), Hanser, Munich 2001, ISBN 978-3-446-21367-8 .
  9. Юнгингер: Ценностно-ориентированный контроль рисков в управлении информацией . 2005 г., ISBN 3-8244-8225-8 .
  10. ^ Тестирование программного обеспечения Георга Эдвина Таллера , проверка и валидация 2002, ISBN 978-3-88229-198-8 .
  11. my.safaribooksonline.com
  12. ^ Стандартная классификация программных аномалий IEEE. (PDF) Совет по стандартам IEEE, 1993, стр. 32 , по состоянию на 22 ноября 2014 г. (Белая книга; документ за Paywall).
  13. a b c Классификация дефектов программного обеспечения. BITKOM, декабрь 2007, архивируются с оригинала на апрель 16, 2019 ; доступ на 11 апреля 2021 года .

Понравилась статья? Поделить с друзьями:
  • Программная ошибка биос
  • Программная ошибка баг
  • Программная ошибка wine
  • Программная ошибка joomla
  • Программная ошибка 504