Программирование - это просто
Advertisement
Главная arrow Статьи arrow Безопасное программирование и отладка arrow Оборонительное (безопасное) программирование. Часть 2.
30.11.2021 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Оборонительное (безопасное) программирование. Часть 2. Печать E-mail
Автор megabax   
23.08.2009 г.
Оборонительное программирование

Оборонительное (безопасное) программирование. Часть 2.

  "Те, кто не помнят прошлого, обречены повторять его".

 Джордж Сантаяна

Что такое программные ошибки?

 

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

 

Что есть ошибка, а что - нет?

 

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

 

Разделы науки отладки:

 

·        Диагностика и систематика типов программных ошибок и их симптомов.

·        Стратегии обращения с ошибками.

·        Профессия наладчика.

 

 

Резюме:

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

Допустим, происходит сбой при загрузке модулей A, B, C в порядке, описанном в инструкции. Может показаться, что сбой происходит из-за взаимодействия между этими модулями. Однако дальнейшее тестирование может показать, что выполнение A и C в любом порядке может вызывать сбой.   Это может указывать на необрабатываемое состояние ошибки между двумя процедурами, на искажение данных в памяти, или, возможно, на неинициализируемый адрес в памяти, используемый процессором. Проблемы такого часто легко обнаружить, но трудно исправить, поскольку главная причина часто не имеет ничего общего с явными симптомами.

 

 

 

Источник: Мэтт Тэллес, Юань Хсих, "Наука отладки".

Продолжение следует.

 

 

Последнее обновление ( 18.02.2013 г. )
 
« След.   Пред. »
 
© 2021 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги