Право и политика в компьютерном круге | страница 49



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

Можно провести такое сравнение. Челночному космическому кораблю типа «шаттл» требуется около трех миллионов команд, включая компьютеры на Земле, управляющие запуском и следящие за полетом из Хьюстона. Эта программа разрабатывалась в течение многих лет. Она бесконечно испытывалась на Земле. «Она позволила провести много успешных полетов челночного корабля, и тем не менее случаются неудачные запуски из-за дефектов в программе, — говорит Д. Парнас. — Дело в том, что при всех испытаниях ни разу не пришлось столкнуться с тем сочетанием обстоятельств, которое выявило дефект, существовавший все время. Сотрудники Организации по осуществлению СОИ говорят, что они испытывают все программы, прежде чем заложить их. Но что если они не смогут предугадать в точности все обстоятельства, с которыми столкнется программа?.. Ведь нельзя вернуться назад, устранить недостаток и снова начать ядерную войну»>7.

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

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