Flying With Python (Strong versus Weak Typing)
Bengt Richter
bokr at oz.net
Sun Mar 16 14:59:03 EST 2003
On Wed, 12 Mar 2003 15:53:45 -0600, Matthew Knepley <knepley at mcs.anl.gov> wrote:
>>>>>> ">" == Peter Hansen <peter at engcorp.com> writes:
>
> >> Dennis Lee Bieber wrote:
> >>
> >> laotseu fed this fish to the penguins on Tuesday 11 March 2003 06:41 pm: > Second thing : > Ariane crashed because
> >> of a bug in an ADA module. ADA is very strongly > *and* statically typed.
> >> >
> >> The module was fine -- for the previous generation of Ariane.
> >>
> >> If I read correctly, one of the reports available on-line, the closest one can come to is that the module which
> >> failed was not coded to trap an exception condition and recover.
>
> >> There was a lengthy discussion of this in the Extreme Programming mailing list at one point. I can't recall the
> >> conclusion, but after rereading your quotations it seems to me that this is a case where adequate testing could
> >> have "easily" identified the problem.
>
> >> It would be interesting to know what tests where actually done, but my guess is that unit tests for the individual
> >> routines involved was not one of them, or that those tests where quite inadequate (not checking behaviour in the
> >> case of an out-of-bounds value, for example).
> If you read the report cited closely, you will see that they did in fact identify
> this location in their tests as something that could throw an out-of-bounds
> exception (along with about 100 others), but chose not to protect it since the
> cost of recoding was high. Some bets lose.
>
I find it surprising that (apparently, from what you describe) the software was not
tested in a context accurately simulating the intended launch and perturbations around
expected performance. I.e., it should be possible to build a computer-driven test stand
where you could plug in the on-board computers and not have them "know" that they are
not in an actually launched rocket, so you could have real-time virtual
system dress rehearsals.
Ditto for unit testing the culprit module.
Regards,
Bengt Richter
More information about the Python-list
mailing list