From: Ken Garlington <garlingtonke@lmtas.lmco.com>
Subject: Re: Ariane 5 failure
Date: 1996/09/28
Date: 1996-09-28T00:00:00+00:00 [thread overview]
Message-ID: <324D02FA.575A@lmtas.lmco.com> (raw)
In-Reply-To: 1780FB1E3.KUNNE@frcpn11.in2p3.fr
Ronald Kunne wrote:
>
> In article <mheaney-ya023180002609962252500001@news.ni.net>
> mheaney@ni.net (Matthew Heaney) writes:
>
> >>The problem of constructing bug-free real-time software seems to me
> >>a trade-off between safety and speed of execution (and maybe available
> >>memory?). In other words: including tests on array boundaries might
> >>make the code saver, but also slower.
>
> >Why, yes. If the rocket blows up, at the cost of millions of dollars, then
> >I'm not clear what the value of "faster execution" is. The rocket's gone,
> >so what difference does it make how fast the code executed? If you left
> >the range checks in, your code would be *marginally* slower, but you'd
> >still have your rocket, now wouldn't you?
>
> Despite the sarcasm, I will elaborate.
>
> Suppose an array goes from 0 to 100, and the calculated index is known
> not to go outside this range. Why would one insist on putting the
> range test in, which will slow down the code? This might be a problem
> if the particular piece of code is heavily used, and the code executes
> too slowly otherwise. "Marginally slower" if it happens only once, but
> such checks on indices and function arguments (like squareroots), are
> necessary *everywhere* in code, if one is consequent.
I might agree with the conclusion, but probably not with the argument.
If the array is statically typed to go from 0 to 100, and everything
that indexes it is statically typed for that range or smaller, most
modern Ada compilers won't generate _any_ code for the check.
I still believe the more interesting issue has to do with the _consequences_
of the check. If your environment doesn't lend itself to a reasonable response
to the check (quite possible in fail-operate systems inside systems that move
really fast), and you have to test the checks to make sure they don't _create_
a problem, then you've got a hard decision on your hands: suppress the check
(which might trigger a compiler bug or some other problems), or leave the check in
(which might introduce a problem, or divert your attention away from some other
problem).
--
LMTAS - "Our Brand Means Quality"
next prev parent reply other threads:[~1996-09-28 0:00 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <agrapsDy4oJH.29G@netcom.com>
1996-09-25 0:00 ` Ariane 5 failure @@ robin
1996-09-25 0:00 ` Bob Kitzberger
1996-09-26 0:00 ` Ronald Kunne
1996-09-26 0:00 ` Matthew Heaney
1996-09-27 0:00 ` Wayne Hayes
1996-09-27 0:00 ` Richard Pattis
1996-09-29 0:00 ` Alan Brain
1996-09-29 0:00 ` Dann Corbit
1996-09-29 0:00 ` Chris McKnight
1996-09-29 0:00 ` Real-world education (was: Ariane 5 failure) Michael Feldman
1996-10-01 0:00 ` Ariane 5 failure Ken Garlington
1996-09-27 0:00 ` Ronald Kunne
1996-09-27 0:00 ` Lawrence Foard
1996-10-04 0:00 ` @@ robin
1996-09-28 0:00 ` Ken Garlington [this message]
1996-09-28 0:00 ` Ken Garlington
1996-09-29 0:00 ` Alan Brain
1996-09-29 0:00 ` Robert A Duff
1996-09-30 0:00 ` Wayne L. Beavers
1996-10-01 0:00 ` Ken Garlington
1996-10-01 0:00 ` Wayne L. Beavers
1996-10-01 0:00 ` Ken Garlington
1996-10-02 0:00 ` Sandy McPherson
1996-10-03 0:00 ` Richard A. O'Keefe
1996-10-01 0:00 ` Ken Garlington
1996-09-28 0:00 ` Ken Garlington
1996-09-27 0:00 ` Ken Garlington
1996-09-27 0:00 ` Alan Brain
1996-09-28 0:00 ` Ken Garlington
1996-09-29 0:00 ` Louis K. Scheffer
1996-09-25 0:00 ` Michel OLAGNON
1996-09-25 0:00 ` Byron Kauffman
1996-09-25 0:00 ` A. Grant
1996-09-25 0:00 ` Ken Garlington
1996-09-26 0:00 ` Byron Kauffman
1996-09-27 0:00 ` A. Grant
1996-09-26 0:00 ` Sandy McPherson
1996-09-25 0:00 ` Chris Morgan
1996-09-27 0:00 ` John McCabe
1996-10-01 0:00 ` Michael Dworetsky
1996-10-04 0:00 ` Steve Bell
1996-10-07 0:00 ` Ken Garlington
1996-10-09 0:00 ` @@ robin
1996-10-09 0:00 ` Steve O'Neill
1996-10-12 0:00 ` Alan Brain
1996-10-04 0:00 ` @@ robin
1996-10-04 0:00 ` Joseph C Williams
1996-10-06 0:00 ` Wayne Hayes
1996-10-04 0:00 ` Michel OLAGNON
1996-10-09 0:00 ` @@ robin
1996-10-17 0:00 ` Ralf Tilch
1996-10-17 0:00 ` Ravi Sundaram
1996-10-22 0:00 ` shmuel
1996-10-22 0:00 ` Jim Carr
1996-10-24 0:00 ` hayim
1996-10-25 0:00 ` Michel OLAGNON
1996-10-25 0:00 ` Ken Garlington
1996-10-01 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-02 0:00 ` Robert I. Eachus
1996-10-02 0:00 ` Ken Garlington
1996-10-02 0:00 ` Matthew Heaney
1996-10-04 0:00 ` Ken Garlington
1996-10-05 0:00 ` Robert Dewar
1996-10-06 0:00 ` Keith Thompson
1996-10-10 0:00 ` Ken Garlington
1996-10-14 0:00 ` Matthew Heaney
1996-10-15 0:00 ` Robert Dewar
1996-10-16 0:00 ` Ken Garlington
1996-10-18 0:00 ` Keith Thompson
1996-10-18 0:00 ` Samuel T. Harris
1996-10-21 0:00 ` Ken Garlington
1996-10-18 0:00 ` Ken Garlington
1996-10-23 0:00 ` robin
-- strict thread matches above, loose matches on Subject: below --
1996-10-01 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-02 0:00 ` Ken Garlington
1996-10-01 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-02 0:00 ` Alan Brain
1996-10-02 0:00 ` Ken Garlington
1996-10-02 0:00 ` Matthew Heaney
1996-10-04 0:00 ` Robert S. White
1996-10-05 0:00 ` Alan Brain
1996-10-06 0:00 ` Robert S. White
1996-10-05 0:00 ` Robert Dewar
1996-10-03 0:00 ` Alan Brain
1996-10-04 0:00 ` Ken Garlington
1996-10-03 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-03 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-03 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-14 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-15 0:00 ` Robert I. Eachus
1996-10-15 0:00 ` Robert Dewar
1996-10-16 0:00 ` Michael F Brenner
1996-10-16 0:00 ` Robert Dewar
1996-10-23 0:00 ` robin
1996-10-16 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-18 0:00 ` Ken Garlington
1996-10-19 0:00 ` Frank Manning
1996-10-21 0:00 ` Norman H. Cohen
1996-10-21 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-22 0:00 ` Adam Beneschan
1996-10-28 0:00 Marin David Condic, 561.796.8997, M/S 731-93
1996-10-28 0:00 Marin David Condic, 561.796.8997, M/S 731-93
1996-10-29 0:00 ` Ken Garlington
1996-11-08 0:00 ` robin
1996-10-31 0:00 Marin David Condic, 561.796.8997, M/S 731-93
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox