Программные ошибки обошлись экономике Соединенных Штатов в 60 млрд. долл.
Программные системы, используемые для организации космических полетов агентством NASA, считаются одними из лучших по уровню проектирования. Однако после крушения в 1999 году беспилотного спускаемого аппарата Mars Polar Lander в NASA пришли к выводу о том, что агентству нужны специальная программа мер, направленных на повышение качества программных средств.
Согласно исследованиям NASA, причиной гибели аппарата явилась ошибка в программе, пропущенная вследствие неадекватного тестирования. В руководстве NASA решили, что недостаточно просто находить и устранять ошибки в программном обеспечении — необходима долгосрочная работа по повышению качества и надежности систем.
Сегодня компьютерные системы и программные системы высокого уровня сложности, используемые NASA, вновь привлекли самое пристальное внимание специалистов.
По словам Генри Макдоналда, возглавлявшего до ноября прошлого года исследовательский центр NASA Ames Research Center, гибель спускаемого аппарата Mars Polar Lander явилась переломным моментом в работе агентства.
Макдоналд убедил руководство NASA в необходимости увеличить степень участия частного сектора в исследовательских проектах, и в настоящее время к разработке систем высокой надежности привлечены ведущие университеты страны. Недавно университет Карнеги-Меллона, возглавляющий проект, на который агентство NASA выделило 23 млн. долл., получил в аренду землю под строительство филиала на Западном побережье США, поблизости от Ames Research Center. Кроме того, NASA играет ведущую роль в созданном в июле прошлого года консорциуме Sustainable Computing Consortium, в который также входят компании FedEx, Pfizer, Microsoft и Oracle.
При разработке консорциум руководствуется принципом: независимо от своего предназначения, программное обеспечение должно четко выполнять поставленные задачи. Данный подход направлен на достижение столь высокого качества программных средств, которое обеспечило построение программных систем, достаточно устойчивых к сбоям аппаратного обеспечения, надежно защищенных от несанкционированного доступа и дружественных к конечному пользователю.
Результаты исследований консорциума могут оказаться значимыми и для других отраслей. Существует множество прикладных областей, которые несомненно выиграют от внедрения высоконадежных компьютерных технологий, отметил Джен Айкинс, директор по технологиям Ames Research Center, например, в таких областях, как финансовые услуги или оказание медицинской помощи, где выход из строя программного обеспечения недопустим ни при каких обстоятельствах
Добиться желаемых результатов будет совсем непросто. Уникальность программного обеспечения среди других инженерных систем заключается в отсутствии средств, способных достоверно измерять уровень их безопасности и надежности. По мнению главы Sustainable Computing Consortium Уильяма Гуттмана, профессора экономики и технологии в университете Карнеги-Меллона, главное — научиться выявлять наличие или отсутствие определенных свойств в конечном продукте.
Инженеры-строители знают, как возвести прочное здание. Однако подобных средств определения надежности программного обеспечения не существует. «Можно ли построить дом в отсутствие строительных нормативов!? Именно так и обстоят дела в области разработки программ», — восклицает Гуттман.
Университет Карнеги-Меллона и NASA в рамках совместной программы по созданию компьютерных технологий высокой надежности High Dependability Computing Program ведут проект, имеющий целью построение архитектуры надежных систем.
Недавно была подсчитана цена ошибок. Исследование, проведенное Национальным институтом стандартов и технологий США, показало, что программные ошибки обходятся экономике страны в 60 млрд. долл., причем убытки распределяются примерно поровну между конечными пользователями и разработчиками.