Careless code recycling cause killer kangas - Mutant Marsupials Take Up Arms Against Australian Air Force.
The reuse of some object-oriented code had caused tactical headaches for Australia's armed forces. As virtual reality simulators assume larger roles in helicopter combat training, programmers have gone to great lengths to increase the realism of their scenarios, including detailed landscapes and -- in the case of the Northern Territory's Operation Phoenix -- herds of kangaroos (since disturbed animals might well give away a helicopter's position).
The head of the Defence Science & Technology
Organisation’s Land Operations/Simulation division repeatedly instructed
developers to model the local marsupials' movements and reactions to Helicopters.
Being efficient programmers, they just re-appropriated some code originally
used to model infantry detachment reactions under the same stimuli, changed
the mapped icon from a soldier to a kangaroo, and increased the figures'
speed of movement.
Eager to demonstrate their flying skills for some visiting American pilots, the hotshot Aussies "buzzed" the virtual kangaroos in low flight during a simulation. The kangaroos scattered, as predicted, and the visiting Americans nodded appreciatively... then did a double take as the kangaroos reappeared from behind a hill and launched a barrage of Stinger missiles at the helpless helicopter. (Apparently the programmers had forgotten to remove THAT part of the infantry coding.) The lesson? Objects are defined with certain attributes, and any new object defined in terms of an old one inherits all the attributes. The embarrassed programmers had learned to be careful when reusing object-oriented code, and the Yanks left with a newfound respect for Australian wildlife.
Simulator supervisors report that pilots
from that point onward have strictly avoided kangaroos, just as they were
meant to.
--From June 15, 1999 _Defense Science and
Technology Organization
Lecture series, Melbourne, Australia, and
staff reports.
Item taken from _Software Testing and Quality
Engineering_magazine,
Volume 1, Issue 6 (November/December 1999)