Компьютер-Информ || Архив || Рубрики || Поиск || Подписка || Работа || О "КИ" || Карта
На сайте http://www.cnews.ru опубликована статья, исследующая причины ошибок в ПО. По мнению ее автора, причина в природе компьютерного кода и определенных условиях, влияющих на его создание.
По словам вице-президента консультационной группы Gartner Джона Пескатора (John Pescatore), программирование это наука, которая все еще развивается. Он сравнивает ее с химией: Прошел не один век, прежде чем люди научились создавать искусственные химические соединения, а ведь они долгое время просто смешивали и взрывали какие-то вещества методом проб и ошибок.
Многие программы пишутся, когда нужно быстро решить какую-то конкретную проблему, это, как правило, небольшие программы, в них не так много строк и если и попадаются баги, то они не имеют разрушительного воздействия. Но если это касается серьезных и больших программ, таких как ОС, вроде Windows XP, состоящей из миллионов строк кода, возможность возникновения ошибок, багов (равно как и сила их возможного отрицательного воздействия), возрастает во много раз.
Некоторые из последних космических миссий на Марс не удались именно по вине ошибок в ПО, прокомментировал Майкл Лоури (Michael Lowry), глава исследовательского отдела NASA. Есть примеры и таких багов, которые программистам часто просто не под силу устранить, несмотря на то, что у них есть достаточно времени, чтобы проанализировать и проверить код. Например, баг, связанный с переполнением буфера данных, недавно обнаруженный и в Windows XP, и America Online Instant Messenger.
Переполнение буфера, как известно, происходит тогда, когда программа пытается разместить в буфере больший объем информации, чем для этого выделено на диске. Хорошо написанная программа проигнорирует информацию, выходящую за пределы буфера (т.е. попросту обрежет данные), или попытается задействовать дополнительный участок памяти. Но в большинстве случаев программы будут записывать информацию, выходящую за пределы буфера, на другие участки диска, даже поверх уже имеющихся данных. Хакеры используют этот недочет, чтобы привести атакуемый компьютер к сбою или запустить на нем зловредную программу.
Представитель SecurityFocus Альфред Хугер (Alfred Huger) отметил, что написанию надежного компьютерного кода не учат в школах, этому программисты обычно учатся уже на рабочих местах. Кроме того, причиной неисправленных ошибок в коде служит обычное для программистов желание быстрее дописать программу и выпустить ее, а также давление со стороны руководства и устанавливаемые им жесткие временные рамки.
Так, например, происходило в корпорации Microsoft, когда приоритетом для программистов было быстрое написание большого количества новых дополнительных программ и подпрограмм, или создание новых возможностей для уже существующих, тогда как чистоте и надежности кода не уделялось должного внимания. Теперь же все усилия руководства направлены на изменение этих приоритетов в сторону обеспечения надежности.
Уоттс Хапри (Watts Humphrey) из Carnegie Mellon Software Engineering Institute предложил взять за основу при создании надежного кода следующий принцип: лучше с самого начала, с базы, писать чистый код, проверять костяк программы, чем выискивать и исправлять баги в уже созданной программе. Он аргументировал свое предложение относительной неэффективностью производимых программистами тестов на отлавливание багов. Тогда как специальные тестирующие программы могут проверить миллионы строк компьютерного кода и заметить ошибки, многие из багов может найти только человек, искусственный интеллект с этим не справится. В больших программах, вроде ОС, поиск бага можно сравнить с поиском неправильно размещенной записи в национальном телефонном справочнике.
В прошлом покупатели ПО не отдавали предпочтения какой-то из программ только потому, что она была известна как bug-free (свободна от ошибок в коде). Но времена меняются. И компании-производители ПО, такие как Oracle и Microsoft, используют самые разные маркетинговые стратегии, чтобы привлечь внимание клиентов к своим технологиям очистки программ от багов; в том числе в рамках этих стратегий запланировано участие компаний в High-Dependability Computing Consortium, организованной NASA и Carnegie Mellon University.
В 70-е гг. состояние автомобильной индустрии походило на то, что сейчас происходит в индустрии ПО. Тогда как американские производители автомобилей пытались добавить как можно больше модных усовершенствований, больше влияющих на внешний вид, дизайн машин, чем на качество ее работы, японские производители концентрировались как раз на качестве. И можно видеть сейчас, каким большим упущением со стороны американцев была эта стратегия, прокомментировал бывший администратор NASA Дэн Голдин (Dan Goldin).
NASA занимается сейчас созданием специальной технологии для эмпирической оценки качества программных разработок. Исследования были начаты в январе этого года, и на их осуществление были выделены значительные средства.
18 марта на экономической встрече
представителей Европейского Союза в Барселоне испанский премьер-министр Jose
Maria Aznar от имени ЕС объявил, что проект Galileo будет начат. В рамках проекта
на высоту в 24000 км (15000 миль) над землей будет запущено 30 орбитальных спутников,
что позволит с их помощью определять местонахождение в любой точке земного шара.
В настоящее время в мире действуют две глобальные системы спутникового позиционирования американская Global Position System (GPS) и российская Global Navigation Satellite System (GLONASS). Обе создавались для военного использования, и обе, после окончания холодной войны, были предложены для гражданского применения.
Система Galileo станет первой системой, с самого начала разрабатываемой и создаваемой для использования в мирных целях. В отличие от GPS, покрытие с помощью Galileo будет гарантированным и обеспечит гораздо большую точность. Это позволит ввести целый ряд новых применений, например, наблюдение за перемещением сотрудников внутри здания и даже за движением тектонических плит из космоса.
Завершение проекта планируется на 2008 г. Стоимость реализации проекта 3,4 млрд евро, и ожидается, что деньги поступят как от государств, так и от частных инвесторов. Европейское космическое агентство (European Space Agency) сообщило, что годовая прибыль от Galileo может составить до 372 млн евро к 2010 г.
Европейский Союз опубликовал резкий ответ на заявление госдепартамента США, в котором утверждалось, что в будущей европейской системе спутниковой навигации Galileo нет никакой необходимости, поскольку для этого достаточно и американской военной системы GPS. В ответ ведущий пресс-секретарь Европейской Комиссии Джонатан Фолл заметил, что американцам не следует вмешиваться в дела европейцев и что в Европе, как известно, монополии не приветствуются. Г-н Фолл заявил на брифинге, что в интересах не только Европы, но и всего мира следует иметь еще одну систему, подобную GPS.
Аналитики связывают заявления госдепартамента США с принятием правительства Германии решения о финансировании проекта Galileo, благодаря чему проект сдвинулся с мертвой точки. Это решение может подтолкнуть к аналогичным шагам правительства Великобритании и Нидерландов, которые ранее отказывались от финансирования проекта.
Отрицательная реакция США на развитие проекта Galileo связана еще и с давлением американских военных, которые в декабре прошлого года обратились в правительство с опасениями по поводу возможного использования в будущем гражданской навигационной системы для войны со странами Запада.
В конце марта вопрос о дальнейшем развитии системы Galileo будет рассмотрен на заседании министров ЕС по транспорту.
Рубрики || Работа
|| Услуги || Поиск
|| Архив || Дни
рождения
О "КИ" || График
выхода || Карта сайта || Подписка
Рассылка анонсов газеты по электронной почте
Сайт газеты "Компьютер-Информ" является зарегистрированным электронным СМИ.
Свидетельство Эл 77-4461 от 2 апреля 2001 г.
Перепечатка материалов
без письменного согласия редакции запрещена.
При использовании материалов газеты в Интернет гиперссылка обязательна.
Телефон редакции (812) 718-6666, 718-6555.
Адрес: 196084, СПб, ул.Заставская, д.23, БЦ "Авиатор", 3-й этаж, офис 307
e-mail: editor@ci.ru
Для пресс-релизов и новостей news@ci.ru