Самая первая версия Microsoft Word для Windows была проектом типа "смертельный бой". Работа над ней повисла навечно. Вся команда вкалывала, не покладая рук, и при этом выпуск откладывался снова, и снова, и снова, и стресс был просто невыносимым. Когда эту чёртову штуку всё-таки выпустили с задержкой в несколько лет, Microsoft отправил всю команду в отпуск в Мексику и провёл серьёзный анализ.
Вскрытие показало, что менеджеры проектов так упорно придерживались сроков, что разработчикам приходилось гнать во весь опор и писать ужасный код, потому что исправление ошибок не входило в общий план действий. Не было даже попытки вести счёт ошибкам. Как раз наоборот. Говорят, что один программист, который должен был написать код для вычисления высоты строки, просто написал "return 12;" и стал ждать сообщения об ошибке - написаная им функция не всегда правильно работала. План работ был больше похож на список функций, проверка которых переводила их в ранг ошибок. Такой подход получил название "метода бесконечных дефектов".
Чтобы справиться с этой проблемой, Microsoft повсеместно стал внедрять "метод отсутствия дефектов". Большинство программистов в компании посмеивалось. Выглядело это так, будто они могли сократить количество ошибок по приказу начальства. В действительности же термин "отсутствие дефектов" трактовался следующим образом. В любой момент времени наиболее важным является исправление ошибок до написания нового кода. ...
1/08/2007
Microsoft Word - это был "смертельный бой"
Автор: Mindberg на 1/08/2007 09:49:00 AM 0 коммент.
12/26/2006
Процессоры Intel ездят на улитках ... и Apple'овские тоже.
Было время, Apple крутила по телевизору рекламные ролики: процессоры Intel Pentium ездят на улитках, но теперь все изменилось ...
Глава Apple Стив Джобс окинул взором гигантский конференц-зал, собравший почти 4000 программистов со всего мира и сказал: «процессоры для компьютеров Apple отныне будут производиться корпорацией Intel».
Первый «Макинтел» будет показан ровно через год на следующей конференции для разработчиков. К тому времени Intel выпустит новый процессор, а Apple доведет до ума новую версию операционной системы. Такие компании как Adobe Systems и Microsoft уже заявили, что поддерживают нововведения. Конечно поддерживают, ведь Microsoft инвестировала 150 млн. долларов в Apple года два назад ;)
Объявление вызвало много шума и возмущения. Миллионы пользователей элитарных игрушек, упс, компьютеров Apple Macintosh негодуют. «Наверное, так должен чувствовать себя еврей, которому любимый раввин объявил, что с завтрашнего дня он должен есть свинину»,—пишет в онлайновом дневнике некто Sauri. ...
Автор: Mindberg на 12/26/2006 01:08:00 PM 0 коммент.
11/15/2006
Используйте фаззинг
Фаззинг (fuzzing) – это метод тестирования, который был разработан для поиска ошибок, связанных с ненадежностью. Почти каждая ошибка или уязвимость, связанная с синтаксическим анализом файлов, была найдена либо просто случайно, либо с помощью фаззинга.
Cинтаксический анализ сложных структур данных – это сложная задача, сложный код будет иметь ошибки. Вы должны тестировать всякий код, который проводит синтаксический анализ файлов и сетевого трафика. Программа Майкрософт под названием «Жизненный цикл разработки безопасности» (SDL, Security Development Lifecycle) очень подробно говорит о том, что это значит для форматов файлов.
Вы должны тестировать все анализаторы испорченных файлов по 100 000 раз, используя средства фаззинга файлов.
Cредство фаззинга файлов, а также средство фаззинга исходного кода C++ включены в книгу The Security Development Lifecycle (авторы: Michael Howard и Steve Lipner microsoft.com/MSPress/books/8753.asp) ...
Автор: Mindberg на 11/15/2006 12:36:00 PM 0 коммент.
Ярлыки: ПО , тестирование , fuzzing , programming , software
Криптография
В Майкрософт запрещено использовать алгоритмы DES (длина ключа слишком мала), MD4 или MD5 (оба они сейчас сломаны), если только их применение не продиктовано стандартом отрасли ...
Автор: Mindberg на 11/15/2006 12:35:00 PM 0 коммент.
Ярлыки: Криптография
Cписок общеизвестных уязвимостей (CVE)
Cписок общеизвестных уязвимостей (CVE) (cve.mitre.org) показывает, что за период 2001-2004 гг. 47 процентов всех уязвимостей безопасности, включенных в CVE, было связано с поступающими в систему данными. Среди самых известных проблем – переполнение буфера, целочисленные арифметические ошибки, вызов сценариев с других веб-узлов и вставка SQL-команд. Сегодня мы видим новые вариации на эту тему, например, вставки кода XPath или вставки в протокол LDAP (Lightweight Directory Access Protocol) ...
Автор: Mindberg на 11/15/2006 12:32:00 PM 0 коммент.
Ярлыки: Безопасность , ПО , software