In the April issue of the Communications of the ACM, Marc Eisenstadt
analyses the types and methods of locating bugs in war stories he
collected on the net.  He asked people to send him descriptions of thorny
bugs in large pieces of software that caused them lots of headaches.
Looking at the three examples of bug stories in the article I thought that
2 of the 3 bugs would have been detected in an equivalent Ada program at
either compile or run time.  Marc has made all of his war stories
available at ftp://kmi-ftp.open.ac.uk/pub/bugtales/bugdata.txt  I have
made the following quick analysis of 41 bugs in 39 of his usenet stories:

24 bugs outside of the program  (hardware errors, op sys errors, no cause
        given, compiler error, etc.)

15 bugs would have been detected with no effort in an Ada program (array
        bound violations, scalars out of range, etc.).

 2 bugs would not have been detected by Ada (uninitialized variable and
        incorrect data)


Detecting 15 of the 17 bugs in the programs seems like a pretty batting
average to me.

John

-------------------------------------------------------
John W. McCormick                 [log in to unmask]
Computer Science Department       voice  (319) 273-2618
University of Northern Iowa       fax    (319) 273-7123
Cedar Falls, IA  50614-0507