 |
BorlandTalk.com Borland discussion newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Rick Carter Guest
|
Posted: Thu Mar 30, 2006 5:03 pm Post subject: It's not the developer's fault! |
|
|
Rick Carter
carterrk (AT) despammed (DOT) com
Chair, Delphi/Paradox SIG, Cincinnati PC Users Group
--- posted by geoForum on http://delphi.newswhat.com |
|
| Back to top |
|
 |
Rick Carter Guest
|
|
| Back to top |
|
 |
John Herbster Guest
|
Posted: Thu Mar 30, 2006 7:03 pm Post subject: Re: It's not the developer's fault! |
|
|
"Rick Carter" <carterrk (AT) despammed (DOT) com> wrote
| Quote: | Whoops! Sent that one too soon!
|
That's OK -- It is not your fault.
<g> |
|
| Back to top |
|
 |
Fergus Dixon Guest
|
Posted: Fri Mar 31, 2006 12:03 am Post subject: Re: It's not the developer's fault! |
|
|
Have to agree that secure coding is pretty important.
There is an urban myth of a rocket which gets fired into space. Later on a
bigger rocket is built but when launched, it explodes due to a 16bit number
rolling over in the software.
Lately, I have been using splint code checking tool which (freeware) but I
think this focuses more on style than problems.
It can be very annoying to send out a program which has ben checked
thoroughly, only to have the user find a problem within a few hours due to
some poorly tested routine. Even more frustrating is being able to do the
fix in 5minutes after wasting several hours describing what the problem
really is and how it slipped through. Anyone had a fault caused by a
spelling mistake?
I would have thought that programs like CodeGuard have a big future. It is a
shame that the new CEO still believes he is working for Micrsoft by
dismantling I mean selling off Delphi.
"John Herbster" <herb-sci1_at_sbcglobal.net> wrote in message
news:442c1d3a (AT) newsgroups (DOT) borland.com...
| Quote: |
"Rick Carter" <carterrk (AT) despammed (DOT) com> wrote
Whoops! Sent that one too soon!
That's OK -- It is not your fault.
g
|
|
|
| Back to top |
|
 |
Jacob Thurman Guest
|
Posted: Fri Mar 31, 2006 1:03 am Post subject: Re: It's not the developer's fault! |
|
|
| Quote: | There is an urban myth of a rocket which gets fired into space. Later on a
bigger rocket is built but when launched, it explodes due to a 16bit
number
rolling over in the software.
|
Not really an urban myth... The rocket was the Araine 5, which exploded June
4, 1996 after a 64bit floating point value was converted to a 16bit signed
integer. The incident is pretty well documented in the book "The Science of
Debugging" by Matt Telles and Yuan Hsieh.
--Jacob |
|
| Back to top |
|
 |
Fergus Dixon Guest
|
Posted: Fri Mar 31, 2006 3:03 am Post subject: Re: It's not the developer's fault! |
|
|
Jacob, thanks for the info. I guessed it may have been true, but only heard
about it from someone else. Sounds like a good book.
Here is a link to some more detail:
http://www.schneier.com/blog/archives/2005/02/regulation_liab.html
or in full:
1) The software engineer is the systems engineer of last resort. (Thanks to
Dave Emery) In other words, the most difficult parts of any system design
tend to get pushed into the software, especially when managers and financial
people make systems level decisions.
2) A hierarchical system (company, project, etc.) means that someone up the
chain of command will be making decisions who doesn't understand the
software--and has probably never read it. The classic case of this was the
Ariane 501 disaster.
The final report glosses over just how horrific this case was. The flight
guidance software was actually developed as part of an Ariane 4 upgrade, and
the developers were not told (or even allowed to know when they asked) what
the system parameters for the Ariane 5 were. So they put helpful notes in
the code for whoever adapted it for the Ariane 5. Then some bean counter
decided that since the flight control system hadn't changed, the software
could be reused unchanged--without review or testing.
Many people know that the guidance computers shut down (as instructed) when
the Ariane 5 reached a point within 40 seconds that the Ariane 4 could never
reach. This caused an overflow that the software treated as a hardware
error--we can't be there. Of course, both computers reached the same
conclusion a few hundreths of a second apart.
But that is not the worst of it. The debugging information was sent to the
engine controllers, which read it as guidance information and selected for
maximum deflection of the engines. Of course, the maximum deflection
selected was based on the moments of the Ariane 4. The Ariane 5 stack came
apart in mid-air.
Following the careful analysis in the report, you might think that this was
a sequence of unanticipated events. Well it was. However, if the course
selected for the first Araine 5 had been slightly different, or if there had
been a bit more wind, the engines could have deflected beyond the Araine 5
structural limits anyway.
A similar set of disasters involved the Airbus 320. I don't want to go into
all the details, but the (multi-version) software implemented the
requirements, and the requirements forgot to include staying above the
ground. (The deadly case was when the glide path for the runway was
underground at the last waypoint. The waypoint would be crossed at the
specified altitude, and the autopilot would then try to put the plane on the
glide path as quickly as possible.)
As I see it the only way to avoid these types of disasters is to have
software (or safety) engineers completely outside the project/company
structure. And the only way that is going to happen is if the companies
can't get liability insurance otherwise.
"Jacob Thurman" <jacob (AT) twodesk (DOT) com> wrote in message
news:442c796f (AT) newsgroups (DOT) borland.com...
| Quote: | There is an urban myth of a rocket which gets fired into space. Later on
a
bigger rocket is built but when launched, it explodes due to a 16bit
number
rolling over in the software.
Not really an urban myth... The rocket was the Araine 5, which exploded
June
4, 1996 after a 64bit floating point value was converted to a 16bit signed
integer. The incident is pretty well documented in the book "The Science
of
Debugging" by Matt Telles and Yuan Hsieh.
--Jacob
|
|
|
| Back to top |
|
 |
John Kaster (Borland) Guest
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|