[can.politics] Some problems with Star Wars #2

hogg@utcsri.UUCP (John Hogg) (06/19/85)

This is paper #3 in the CSRI/CPSR presentation that I said I'd post.  Ric
Hehner spoke (in a non-technical manner) about his own area of expertise:
program correctness.

I should mention that both the authors whose papers I've posted have
indicated that they do NOT wish to be contacted about the contents; address
any replies to me.  Ric and Andrew feel (correctly, in my opinion) that
debating on Usenet accomplishes little.  However, in the hopes that I
can get Henry to concede a number of points, if not the entire issue,
here is the

          Submission to the Liberal Task Force on
           Peace, Security and World Disarmament
                             by
                      Eric C.R. Hehner
                        1985 May 30

     One of the main components  of  the  Strategic  Defence
Initiative  (SDI, or "Star Wars") is the development of com-
puter systems capable of recognizing  and  responding  to  a
nuclear  attack.   The  response  may be a laser or particle
beam from a satellite, or even the launching of  retaliatory
nuclear  weapons;  these  responses  would  be automated.  I
quote from the U.S.  Department of Defence Report "Eliminat-
ing  the Threat Posed by Nuclear Ballistic Missiles, Vol. 5,
Battle Management, Communications and Data Processing", Feb.
1984:

     In all scenarios for a BMD [Ballistic Missile  Defence]
     battle,  timely  action is essential, and it is acutely
     so if battle is joined in the boost phase [by satellite
     lasers].   Time  scales  are  too short [300 seconds of
     boost, minutes to impact] for human decision makers  to
     select among a complex array of alternatives.  It seems
     clear  that  the  DTST  [Defensive  Technologies  Study
     Team], therefore, that _s_o_m_e _d_e_g_r_e_e _o_f _a_u_t_o_m_a_t_i_o_n _i_n _t_h_e
     _d_e_c_i_s_i_o_n _t_o _c_o_m_m_i_t _w_e_a_p_o_n_s _i_s _i_n_e_v_i_t_a_b_l_e _i_f _a _b_a_l_l_i_s_t_i_c
     _m_i_s_s_i_l_e _d_e_f_e_n_c_e _s_y_s_t_e_m _i_s _t_o _b_e _a_t _a_l_l _c_r_e_d_i_b_l_e.

     So it is  absolutely  necessary  to  get  the  software
right.  Unfortunately, it is not possible.

     I realize that any statement  of  impossibility  sounds
like  an  invitation  to  be  proven wrong.  But not in this
case.  Let me illustrate with the old examples of pennies on
a checkerboard.  If you place one penny on the first square,
two on the next, four on the next, and so  on,  doubling  at
each  square,  the  number of pennies on the final square is
greater than the age of the universe  measured  in  seconds.
Computer  programs  to  solve  certain problems resemble the
checkerboard  in that two alternative  cases  must  be  con-
sidered, and for each alternative, there are two subcases to
be considered, and so on.  The number of cases is  the  same
as  the  number  of  pennies.  Regardless of any advances in
technology that may come, such programs cannot be  executed.
This  is  a well-known, standard result in computer science.
One such problem is chess; it is easy to write a program  to
play  a  perfect  game  of chess, but that program cannot be
executed.  Another such problem  is  the  interpretation  of
sensory  data,  which  is  required  to recognize an attack.
Another is the strategy to respond to an attack.

     The SDI calls for new developments in artificial intel-
ligence to solve these problems.  Artificial intelligence is
the branch of computer science that  begins  with  the  full
knowledge that the correct solutions to its problems are not
feasible, and it seeks solutions that work pretty well  most
of  the  time, and fail only occasionally.  And that is very
valuable whenever the  benefits  of  success  outweight  the
consequences  of  failure.  With further research, computers
may be able to play chess so well that  they  almost  always
make  good  moves,  and rarely make dumb ones.  But for SDI,
the consequences of misinterpreting the data,  or  making  a
dumb  strategic  move,  could  very  well  be the start of a
nuclear holocaust.

     There is another reason that  the  SDI  goals  are  not
achievable.  Even if perfect pattern recognition and perfect
strategy were feasible, programmers  make  mistakes.   Every
large  program  has bugs.  Once again, this can be tolerated
in application where the  consequences  of  failure  can  be
tolerated.   When  banking  software  fails,  customers  are
inconvenienced.  When airplane navigation software fails,  a
planeload  of  people  may die.  This has happened more than
once; apparently the airlines consider it  tolerable.   When
IBM  delivers  an  operating  system, it may have as many as
1,000 bugs.  These are not discovered by  IBM,  but  by  its
customers  after  delivery.   When  hardware  fails,  if the
failure is detected, a backup  system  can  be  substituted.
But  when  software  fails,  if the failure is detected, any
backup copy has the same errors in it.

     The U.S. Department of Defence is aware of the  problem
of  human error in programming, and they propose a solution.
Quoting again from the Fletcher report:

     The development of a BMD  [Ballistic  Missile  Defence]
     battle management system will extend over several years
     and will be so complex that no one individual will have
     a  complete understanding of the system.  First, a com-
     plete set of system requirement is  needed.   Automated
     tools  must  be developed that will permit a formal set
     of requirements to be specified and verified  for  com-
     pleteness and consistency... Experience with large sys-
     tems has shown that, when errors  are  corrected  or  a
     system is upgraded with new capabilities, the probabil-
     ity of introducing new errors is very  high.   This  is
     because it is impossible to understand all the possible
     implications that a change in a large system may  have.
     Here again, automated tools are needed...

     The SDI proposal is to write another program, called  a
verifier, that can check the correctness of programs.  But a
verifier, being a large program  itself,  may  well  contain
bugs.   And  verification  is  another one of those problems
that are not feasible in the large systems  being  proposed.
Verifiers  exist now; they have been used to verify programs
consisting of several hundred lines of code.   The  proposed
SDI  software  to recognize, evaluate and respond to nuclear
attack, according to Defence Department estimates,  will  be
about  _8 _m_i_l_l_i_o_n lines of code.  Without doubt, it will con-
tain a lot of bugs.

     I have been speaking as a scientist, but I  would  like
to  speak for a few minute as a human being.  It seems to me
that scientific debate about the feasibility  of  Star  Wars
misses  the main point.  The threat posed by nuclear weapons
is a political problem, with an obvious, if not easy, polit-
ical  solution.  When politicians propose a scientific solu-
tion,  they  are  raising  a  distraction  from  their   own
failures.   The  effects of SDI will be to provide an excuse
to continue manufacturing nuclear weapons; the idea is  that
we  can  have our nuclear weapons and be safe from them too.
Ronald Reagan will feel even less obliged to negotiate  arms
reductions.   Even  if SDI were completely successful in its
aims, countermeasures would soon  follow:  perhaps  missiles
with  short  boost phases, or missiles that do not leave the
atmosphere and so remain out of range of  X-ray  lasers,  or
anti-satellite  weapons  that  destroy the lasers before the
missiles are launched, or...  And lasers  that  can  destroy
missiles  undoubtedly  have their offensive uses.  SDI is no
solution to the arms race, but a further escalation.

     I am not against defence; in fact, I  have  worked  for
the Defence Research Establishment Pacific.  Furthermore, my
institute, the Computer Systems Research  Institute,  stands
to  gain  from  SDI  research contracts.  I am sure that you
will be hearing from self-interest groups arguing  for  SDI,
without concern for the national or international good.  And
there are scientists who think only of  their  science,  and
not of the human consequences.  But some scientific research
should not be done.  I wish some scientists had said that  a
long time ago.
-- 

John Hogg
Computer Systems Research Institute, UofT
{allegra,cornell,decvax,ihnp4,linus,utzoo}!utcsri!hogg

henry@utzoo.UUCP (Henry Spencer) (06/25/85)

I'm going to make a longer response to the main content of Ric Hehner's
paper, but I thought I'd get a couple of peripheral things out of the way
first, separately.

> ...Ric and Andrew feel ... that debating on Usenet accomplishes little.

I disagree, but not for the obvious reasons.  It is quite possible that
there is little chance of the debaters changing their views as a result
of debate.  What such discussion/debate can, and sometimes does, accomplish
is to inform and educate the spectators.  This is not trivial.

> ... When airplane navigation software fails,  a
> planeload  of  people  may die.  This has happened more than
> once; apparently the airlines consider it  tolerable. ...

I would like to see some references on this.  If Ric is thinking of the
Mount Erebus and KAL007 crashes, then he has weakened his argument with
a serious error of fact.  Neither of these crashes was a software failure
(modulo some small uncertainty about KAL007).

The Mount Erebus crash is definitely known to have been human error.  Some
navigation reference points were changed, and the change was not propagated
to all the people who should have been told.  As a result, correctly-working
navigation software flew the plane into a mountain that the software thought
was well off to one side.  Bad weather made it impossible for the pilots to
detect this in time.  There is no suspicion of hardware or software failure.

KAL007 is a bit less certain, because of lack of evidence, but the most
plausible theory is a subtly-incorrect order given by the crew to the
navigation software.  (Ironically, slightly "smarter" software might have
saved KAL007.  The navigation software had to be given explicit instructions
for each leg of a complex course, and had no overall knowledge of the course
or the constraints on it.  Hence the software was unable to apply any real
consistency checks to the orders given to it.)  As far as I know there is
no suspicion of hardware or software failure.

Finally I doubt that the airlines -- or the passengers, or the crews, or
the government regulatory agencies -- consider fatal crashes "tolerable"
regardless of their cause!
-- 
				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,linus,decvax}!utzoo!henry

henry@utzoo.UUCP (Henry Spencer) (06/26/85)

One other air-travel incident that I forgot, although this one wasn't
actually a crash:  the CAAC 747 near-crash over the Pacific.  Alas, this
doesn't support Ric's comment either, since this was the result of
correctly-functioning software attempting to carry out impossible orders.
Once again, putting more judgement in the software might have led to the
discovery of the problem before it became critical.
-- 
				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,linus,decvax}!utzoo!henry