Slashdot Mirror


Software Problem Linked to Osprey Crash

An Anonymous Coward sent in: "While not the only problem facing the ill-fated V-22 Osprey, a bug in the software controlling the pitch of the Osprey's rotors was listed as a contributing factor to the crash of a Marine Opsrey last December. It appears that a hydraulic leak initiated a sequence of events that included the pilot pressing a computer reset button. Rather than resetting the computer, the software changed the pitch of the rotors. Not so good... One more reason to fear too much technology. Has anybody ever seen a bug-free piece of software of any complexity greater than "Hello World"?"

338 comments

  1. Of course I have! by Anonymous Coward · · Score: 1

    Has anybody ever seen a bug-free piece of software of any complexity greater than "Hello World"?

    It's called SLASH!

    1. Re:Of course I have! by Monkey-Man · · Score: 1

      Flattery will get you nowhere. . .

  2. Re:Hello World is buggy by Anonymous Coward · · Score: 1
    Turbo Basic is for queers and dimwits.

    You seem to have misspelled "Visual Basic".

  3. Re:Proofs by Anonymous Coward · · Score: 1

    The link you gave says Naur "informally proved" correctness which is generally a euphemism for waving your hands a bit and then making a guess. If he had actually had a proof, there couldn't have been any bugs in the program relative to the specifications. That's what proving correctness means. Claiming that proving things doesn't work because someone who didn't prove anything wrote a buggy program doesn't make a lot of sense.

    Not making mistakes is what makes software robust.

  4. [Not OT] That Shasldot banner ad... by Anonymous Coward · · Score: 2
    Those of us with GUI web browsers and not using junkbusted have probably seen the latest Slashdot banner ad.:

    "Sorry Team.
    You're going to have to stay late.
    Until it's done.
    And debigged.
    And tested.
    And documented."

    Gawd that's fscking annoying. The moral of the ad? Why let staff rest when they can just be pumped full of drugs, I forget which particular ones were being advocated, to keep 'em working so they can meet the deadline that the boss horribly mismanaged and allowed to become a panic.

    Well SCREW YOU! We are not slaves to be worked to death. It's management attitudes like this, that cause code to have bugs and look like shit. No wonder the code is buggy. The staff writing it was in a big fucking hurry to get it the hell done any way they could so they could go home and enjoy the weekend. What other kind of code could you expect to be produced?

    1. Re:[Not OT] That Shasldot banner ad... by epicurus · · Score: 1

      they were advocating Whoopass (in a can, of course), as opposed to Coffee...

  5. Hey... by Ranger+Rick · · Score: 1

    You know what would be really funny? Someone should make a joke about running "Hello World" and having it core dump. Now *that* would be amusing. I'm shocked no one has thought of it yet!

    :P

    --

    WWJD? JWRTFM!!!

  6. Re:Previous versions by Russ+Steffen · · Score: 2

    Airbus, while showing off one of the first A320 aircraft at the Paris Airshow (I don't remember what year) suffered a fatal software error in it's fly-by wire system. The pilot was doing a low, slow pass at an altitude 50-100 FtAGL down the runway. The flight control software mistook this for a landing and refused to let the engines throttle back up. The plane plowed into a heavily wooded area near the end of the runway.

    If you watch TLC or Discovery channel long enough you will see the footage of the crash. They've been using it in a commercial for the last few weeks.

    Of course, this whole thing prompted the (poor) joke: Q: What's the difference between an Airbus and a chainsaw? A:10,000 trees per minute

  7. Re:Nuclear Powerplants, ICBM systems by volsung · · Score: 2
    In my Software Engineering course, our teacher was explaining different degrees of "code coverage" required for various test cases. You usually shoot for statement coverage (every line of code gets executed in one of your tests) and condition coverage (ever conditional takes on both true and false in one of the tests).

    He pointed out that the software that controls nuclear arms is required to have "path coverage" testing, where every possible execution path through the code has been tested. That is a combinatorial nightmare. (Not to mention that I have no idea how loops work with this sort of testing.)

  8. Re:Design vs. coding by Sanat · · Score: 1

    That was the Hyatt Regency. I stayed there before the accident and when the band would play, spectators on the catwalks would start the catwalks to sway by pumping the catwalks like a swing - adding positive energy.

    I lost a co-worker that night that the two cat walks fell. It was their anniversery and their kids saved their money so that their parents could celebrate by dancing, dinning, and spending the night.

    The good die young.

    --
    And in the end, the love you take is equal to the love you make
  9. Re:Proofs by Ian+Bicking · · Score: 2
    Well, the problem being that a proof of the correctness of a program is only as robust as the correctness of the proof itself; proving the correctness of the proof of the correctness of the program is, well...

    I suppose it can be useful to formulate a program in a thoughtful, formalized system. But that's what good code is anyway, so...

  10. Re:Good Software Exists by sjames · · Score: 3

    It's a shame that programming still has this bullshit mystique of "art" to it.

    In many cases, it's not at all a matter of not knowing how to properly plan, design, and test (though sometimes it is). It's a matter of what the customer will pay for, how long they will wait for it, and how important it is for the software to operate flawlessly.

    Usually, they want it cheap and yesterday. They want the latest whizz-bang while you're at it, never mind that it has no track record.

    When, if ever, the customer wants to pay what it costs, wait as long as it takes (even if the initial estimates are wrong), and use what's known to work, things will change.

  11. Re:Bug Free by pod · · Score: 1

    Well, actually 'Teach Yourself Java in 21 Days' (yeah, so sue me!) book has as a first code example a Hello World applet, which, you guessed it, doesn't compile.

    --
    "Hot lesbian witches! It's fucking genius!"
  12. Still hosed! Hash/pound character is not portable! by root · · Score: 2
    C relies on non portable characters that do not exist in all character sets. This 'hello world' program still FAILS the fully portable compliance test. May I suggest:

    ??=include <stdio.h>
    ??=include <errno.h>
    ??=include <stdlib.h>

    int main(void)
    ??<
    int rc;
    rc = printf("Hello, World!??/n");
    if (rc < 0)
    exit(EXIT_SUCCESS);
    return 0;
    ??>

    Now that's proper and portable C code! Behold it's beauty!

    Remember, many characters are not portable across all character sets. The square brackets, for example, dot not exist in EBCDIC. The hash/pound character is often replaced by the British currency symbol in some ASCII variants. Reverse slants do not exist in Baudot or Morse code. And so on. So ANSI C (2nd revision) defines 'trigraphs' of the form ??x where x is a from a list of more universal characters and the preprocessor treats the whole sequence as the appropriate C character. Note that trigraphs can even be used in quoted strings (see ??/ above).

  13. Re:define "bug" by jafac · · Score: 2

    I wuz speaking rhetorically to illustrate the point.

    --

    These are my friends, See how they glisten. See this one shine, how he smiles in the light.
  14. define "bug" by jafac · · Score: 4

    anyone who has ever written anything, 'nuff said, right?

    Now, what's described in this Osprey crash, that's definately a bug. The expected behavior was a reset - is the expected behavior of a reset to change the pitch of the rotor? Then the bug was in the TRAINING procedure that recommended hitting that button.

    In the real world, bugs range from, mispelled words in dialog boxes, to crashes, to having an OK button two pixels too small. It's all a matter of the opinion of any single user of a peice of software, if a given feature "worked". Worked how? Fulfilled the expected requirements? In 99.999% of the cases out there, the requirements were not well enough defined. For that matter, when you THINK you've got them defined well enough, you start running into semantics issues that would make a lawyer drool. Marketing guy writes requirements, engineer interprets requirements. It's a beautiful world eh? You thought you were writing "Hello World", but now you've got to spit it out in 50 different languages on 10 different OS/Hardware platform combinations, and it's got to be able to notify SNMP and email the administrator if it was unable to do so. And you've got to be able to get it to print out Hello World in the correct language from a single mouse click, and for some languages it has to determine the time of day, and present the greeting as a "good morning, world" or "good evening, world".

    Pretty soon you're talking about 200 pages of specs. . .

    --

    These are my friends, See how they glisten. See this one shine, how he smiles in the light.
    1. Re:define "bug" by Ben+Hutchings · · Score: 1

      That's a stupid way to do things, because later you'll find out that there are bugs in those requirements. There needs to be a way to find that out before the requirements get so large. (Oh, and I suspect that there's a lot of duplication in there, making it extremely difficult to maintain consistency once you start fixing those bugs.)

    2. Re:define "bug" by UnifiedTechs · · Score: 1

      From Article "The pilot, Lt. Col. Keith Sweaney, pushed that button, a standard procedure that should have resulted in no perceptible change in the aircraft." From Post "The expected behavior was a reset - is the expected behavior of a reset to change the pitch of the rotor?" I hate it when /.ers reply with a possible excuse that if they had taken the time to read the article they could have easly seen was not the case. I am posting this not to blame the posts writter, but so that other readers who may not read the full story are informed. Please take the time to read the article and don't worry about how low you can get your post numbered. Or maybe you post just like you write software????

    3. Re:define "bug" by bad-badtz-maru · · Score: 1

      =====
      Now, what's described in this Osprey crash, that's definately a bug. The expected behavior was a reset - is the expected behavior of a reset to change the pitch of the rotor? Then the bug was in the TRAINING procedure that recommended hitting that button.
      =====

      An article on cnn.com indicated that pressing the reset button was a normal part of the procedure and that the software's subsequent adjustment of rotor pitch was indeed a bug in the software. I really doubt if aerospace engineering suffers from the same lack of proper specifications that PC developers are faced with, however, they are apparently becoming plagued with the same lack of quality control.

      maru

    4. Re:define "bug" by AnyLoveIsGoodLove · · Score: 1

      "Pretty soon you're talking about 200 pages of specs. . ."
      Yes... You should be talking at least 200 pages of text.... I just did an IDC design that was 1900 pages of Requirements and Analysis....This is how real systems work.......We have not installed one piece of software or hardware yet...

      --
      "It's technical in a psychometric kind a way" -- C. Parish
    5. Re:define "bug" by AnyLoveIsGoodLove · · Score: 1

      True I agree that in 1900 pages there will be errors..but you need a clearly defined scope of work.
      Think about what design goes into an IDC: Network infrastructure, Network Management, Facilities, Customer Relationship software, Security, Billing, Provisioning, Project Management, Training, System's Integration....add in the basics such as back ups and fail overs with high availability...then throw in multiple IDCs to make it fun...Remember if an IDC is built wrong you've wasted about $50 million bucks.
      Also a design document serves to cover your ass when the customer changes their mind 5 months later. We also document what a customer doesn't want as well
      You're critical, but don't offer any solutions on how to accomplish the goal...
      There needs to be a way to find that out before the requirements get so large

      --
      "It's technical in a psychometric kind a way" -- C. Parish
  15. Re:testing software by lorax · · Score: 1

    Then all you have to do is look through the output of the test for each of those infinite possibilites and decide if it was correct.

    Of course you could write a program to
    verify the results of the testing program,
    but it would need its own testing program.

    Recurse.

  16. Re:Bug Free by peter · · Score: 1

    I wrote a program that was totally rock solid and bug free, but it got away...
    ;->
    #define X(x,y) x##y

    --
    #define X(x,y) x##y
    Peter Cordes ; e-mail: X(peter@cordes , .ca)
  17. Not the software's fault on the YF-22 crash by Bwah · · Score: 1

    The belly in on the YF-22 (NOTE the 'Y' .. That was a demval aircraft NOT a real F-22) was due to pilot error!!

    The FLCS people KNEW there was a problem in the software. (Actually it was a problem with the control laws, not the implementation of the software, hence not a bug.) There was an Aircraft Operational Limitation that specified "Thou shalt not go into afterburner with thrust vectoring enabled."

    The test pilot did it anyway on takeoff (probably an accident, pushed throttle forward too far). The system went into oscillation, and the pilot went in belly first for safety reasons.

    Anyway, thus endeth my rant.

    --
    "There's no secret. You just press the accelerator to the floor and keep turning left." -- Bill Vukovich
  18. A little more to it than that ... by Bwah · · Score: 1

    I think you may be missing a key issue here.
    Everyone is assuming that this was an actual bug. (i.e. a requirement not implemented correctly, or a coding error, or even a design error.)

    Don't forget to track back to the next level. It's very possible (and no, I don't KNOW, I'm just guessing ...) that this could have been a requirements problem.

    When the requirements were written for the control software, maybe nobody thought to specify what data should be output on that interface in this case. Therefore, there was no test case to cover it, and therefore the software got shipped out the door as "Bug Free" as the creators thouhgt possible.

    Failure mode analysis on complex systems is HARD ...

    --
    "There's no secret. You just press the accelerator to the floor and keep turning left." -- Bill Vukovich
    1. Re:A little more to it than that ... by Bwah · · Score: 1

      Maybe. I have seen a lot of problems like this that look really simple on the surface (and make you ask "How the hell did they ship that??") that are actually much more complex.

      Who says a reset is going to always drive the outputs of the system to a known state?

      I mean, when you do an airborne reset a flight control system you wouldn't expect it to go and initialize all of it's interfaces to a known state, would you? (incedentally that's the kind of thing that tends to cause these type of problems ...)

      A reset drives the processors into a known state, but not necesarily the inter-subsystem interfaces.

      Anyway, it's probably worthless to speculate further ... it's just that that these things are almost always more complex than they seem. It annoys me a little that article descriptions says something like "Rather than resetting the computer, the software changed the pitch of the rotors". Makes it sound like the system never reset, just hard some code that said:
      if Buttons.Reset = true then
      Rotor_Pitch.Set(23.0);
      end if;
      and never reset at all. or something.

      --
      "There's no secret. You just press the accelerator to the floor and keep turning left." -- Bill Vukovich
    2. Re:A little more to it than that ... by flossie · · Score: 1
      The system is more than the processor. The computer was interacting with complex and failed hardware.

      Besides, if you want complex interaction:

      A hydraulic line failed.

      The hydraulic flow to a heat exchanger ceased.

      The engine bleed air passing through that hx was not cooled sufficiently.

      The "cooling" air to the avionics was too hot.

      The processor over-heated.

      The over-heated processor failed to respond correctly.

      Perhaps.


      -- flossie
      http telnet

  19. I dono about that anymore ... by Bwah · · Score: 1

    You have to remember that most modern aircraft are aerodynamically unstable. This is done to gain manuverability. They are not capable of flying without computer control. The pilot isn't really "flying" the aircraft anymore, he's just telling it where to go.

    --
    "There's no secret. You just press the accelerator to the floor and keep turning left." -- Bill Vukovich
  20. Not in this case ... by Bwah · · Score: 2

    My experience with realtime embedded control systems has been that (with ada anyway) they don't usually die that way. In fact as I type this I'm trying to recall the last time the system I'm currently coding on went off in the weeds, and I can't. In this case, it most likely didn't go out of bounds either.

    In my experience, most deeply embedded systems, like flight controls, rarely use pointers. They rarely use any "exotic" language features. They rarely (read as never) use anything that is allocated in a dynamic manner.

    When things like this happen (reset problems) usually you end up with a situation where your box gets reset, and you output a default values on all of your interfaces, but these default values may not apply for all situations.

    Rather than blaming the coders for these issues and calling them bugs, blame at the systems engineers for not covering the situation when they wrote the requirements. Not that it's easy to do this.

    Failure mode analysis in a system as complex as the V-22 is a job I would not want ...

    --
    "There's no secret. You just press the accelerator to the floor and keep turning left." -- Bill Vukovich
  21. Re:Yes, goddamn it by drix · · Score: 2

    Read the manual page for mf(1) under the "BUGS" section.

    --

    --

    I think there is a world market for maybe five personal web logs.
  22. Re:Yes, goddamn it by drix · · Score: 2

    I think you are mistaken. Knuth will double the size of the bounty for every year that has passed since he made the offer (in 1986). See my other post in this thread.

    --

    --

    I think there is a world market for maybe five personal web logs.
  23. Yes, goddamn it by drix · · Score: 4
    Has anybody ever seen a bug-free piece of software of any complexity greater than "Hello World"?"

    Go download the core (e.g. written in CWEB) part of TeX, which was written by probably the greatest computer scientist of our day, Donald Knuth. I don't think a bug has been found in TeX in at least a decade. It's gotten to the point where Knuth will cut you a check for several hundred "hexadecimal" dollars (256 cents ** years since he made the offer) if you find one, which you would never cash anyways but rather mount it on your wall. TeX is definitely a bit more complex than "Hello World". Many people in the publishing industry will tell you that the features it provides could be sold for many thousands of dollars or even tens of thousands as a closed-source software package. It's highly complex.

    --

    --

    I think there is a world market for maybe five personal web logs.
    1. Re:Yes, goddamn it by Paradise_Pete · · Score: 1
      Knuth's promise to pay on an exponential scale for each bug found.

      He pays US$2.56 for each error in his books. Do you have a reference for this exponetial thing?

    2. Re:Yes, goddamn it by Eustis+Burbank · · Score: 1

      >I don't think a bug has been found in TeX in at least a decade.

      Yes, but has the Osprey software been around for a decade, and has it been used by as many people, or looked at by as many eyes?

      You can't, and don't really have the right to compare the two.

      Oh yeah, pork and beans.

      --
      ------ 1001001
  24. Re:Return Value? n/t by David+Gould · · Score: 2


    I'm going to guess that the errors (I count eight so far) are intentional -- he's making a joke, see, in the guise of a stuffy response that failed to get the previous guy's joke, while also accusing him of failing to get the previous guy's joke. Very recursive; maybe his program should also have called main() recursively -- ooh, I'm not continuing it, am I?

    David Gould

    --
    David Gould
    main(i){putchar(340056100>>(i-1)*5&31|!!(i<6)<< 6)&&main(++i);}
  25. Re:Return Value? n/t by David+Gould · · Score: 2


    Not that anyone will still be reading this, but...

    It's fun to argue over which ones "count", huh? The ones I had in mind were 1, 2, 3, 4, 5, 6, and 8 above, plus no "#include <stdio.h>", which different environments might or might not give you for free. I didn't count 7 since I didn't think main() is required to take the standard "(int argc, char **argv)", or are we debugging my sig now, too?

    David Gould

    --
    David Gould
    main(i){putchar(340056100>>(i-1)*5&31|!!(i<6)<< 6)&&main(++i);}
  26. Re:RTOS has to reboot? by unitron · · Score: 2
    Are you sure that the pilot panicked? If he really had, that Osprey might well have crashed on my house (which air traffic between Camp Lejune and the New River Air Station passes over all the time) instead of a few miles away in Hoffman Forest.

    A story in yesterday or today's (Raleigh, N.C.) News and Observer (the people who started Nando), and possibly in the local fish wrapper as well, indicates that the military knew about the problem with the wiring bundle rubbing against the hydraulic lines 18 months ago. The military may be at fault here, but not the aircrew.

    --

    I see even classic Slashdot is now pretty much unusable on dial up anymore.

  27. Re:Software by unitron · · Score: 2

    Didn't know there were any other Slashdotters in town except the guy who went up to New Bern when Coastalnet bought out toddalan. Did they ever get the VR trainer for the Osprey installed out there? I was out there a couple of summers ago but forget the building number.

    --

    I see even classic Slashdot is now pretty much unusable on dial up anymore.

  28. Re:Bug Free by Ross+C.+Brackett · · Score: 2

    I think his point is that the basic hello world program:

    int main(void}
    (
    printf ["hello, worldn\'),
    }

    will always be considered practically bug free. Jeez - some people never catch a joke.

  29. Re:Design vs. coding by Jeffrey+Baker · · Score: 1

    That was a famous accident. The hotel was in kansas city, IIRC. The design of the original structure was sound: a long rod suspended from the roof supported two catwalks, by supporting them both from underneath. Thus, each catwalk support had to hold the load of a fraction of one catwalk. As the drawing passed from the chief engineer down to the detail draftsman, the design of one long rod was changed to two shorter rods. So the builder suspended the upper platform from the roof, and suspended the lower platform from the upper one. The supports for the upper catwalk were loaded with twice the load they were designed for, and the offset of the lower rods caused a torque unanticipated by the designer.

  30. Re:Still bad. You forgot to check validity of stdo by Jeffrey+Baker · · Score: 2

    I don't think that's really a bug, because if stdout is not valid, rc will be less than zero and errno will be set to EBADF. If stdout was a pipe that was closed, the program will receive SIGPIPE, which is not handled and thus the program will exit via the default handler.

  31. Re:Hello World is buggy by Jeffrey+Baker · · Score: 2

    errno.h was needed to declare errno. Otherwise, gcc won't build without warnings. If I were to just declare extern int errno, I might be stepping on an implementation that uses macros for errno.

  32. Re:Design vs. coding by Jeffrey+Baker · · Score: 2

    As you note, there were several problems. The original design was weak. Then the builder unilaterally decided to build the box beams the way they did. They also did not want to thread the entire length of the rod, so they changed the design to two rods. The hotel's prime contractor would not allow the engineering firm to be represented on site, for cost reasons. All of this added up to the disaster. The hotel was even fucked up before it was complete: 2000 square feet of roof collaped during construction. One of my old professors put up a page about it with lots of picures. Check out this picture of the distressed box beam from the walkway that didn't collapse.

  33. Re:Hello World is buggy by Jeffrey+Baker · · Score: 3
    That may be true on Linux, but according to Single Unix V2 (1997), fprintf can fail with ENOMEM, EPIPE, EINTR, and others.

    Maybe this is the ultimate version of hello world:
    #include <stdio.h>
    #include <errno.h>
    #include <stdlib.h>

    int main(void)
    {
    int rc;
    rc = printf("Hello, World!\n");
    if (rc < 0)
    ex it(errno);

    exit(0);
    }

  34. In Knuth's defense by "Zow" · · Score: 5
    It's a shame that programming still has this bullshit mystique of "art" to it. "Art" is just a lame excuse for laziness: instead of approaching the problems methodically and scientifically, it's just ever-so-much easier to take a half-assed hack-and-patch approach.

    I think the real problem is the change in the meaning of the word art in the past ~100 years. What most people think of these days when they hear the word "Art" is what is traditionally thought of as "Fine Arts". The traditional meaning of the word Art was more akin to "Technique". The phrase "State of the art" is refering to the most advanced techniques available. This is also why many universities still call their science departments "The college of arts and letters".

    It used to be that professions that required a lot of talent and/or practice in order to master a technique, such as painting or dancing were considered the "fine arts". Then, in the latter part of the 19th century or early part of the 20th century some revolutionary fine artists decided to discard these old-school techniques. In the process they succeeded in changing the traditional notion of art from something that was more technique to something that was more creative.

    Unfortunately, the traditional use of the word art wasn't obilterated in the process, so many early computer scientists (particularly Knuth) started to talk about "The Art of Computer Programming." What they meant wasn't that it's a creative process, but rather that it's a technique that must requires talent and must be practiced. Knuth preaches a lot of things about computer programming: programs should be simple and comprehendable, they should implement algorithms that are mathematically proven. It might not be anything as formal as methodologies like ISO-9000, but there's no implication of creativity like, "Let's see if we can fit 30 function points on one line because that would be so cool!"

    Anyway, I think the only reasonable solution at this point is to abandon the antique word "art" and start talking about software development as a "technique" or other similar term.

    My $.02,

    -"Zow"

  35. Crap by pimp · · Score: 1

    $ ./a.out
    Hello Wor
    (core dumped)
    $

  36. This is why we need to stratify software. by Apuleius · · Score: 2

    #define RANT 1
    #define BLEARYNESS 1

    Software comes in two forms nowadays, it seems:
    1. "Not for mission critical applications."
    and
    2. "We told you it's not for mission critical applications!"

    This needs to change. There needs to be a
    grade of software that its programmers will
    stand behind. It should be governed
    by slow and laborious reviews, written by
    programmers certified for it. In other words,
    we need a software version of the rigors of
    civil engineering. (How often does a bridge come
    with a disclaimer?) It should be expensive,
    (for enough eyeballs, all bugs are shallow,
    but also the price gets steep), and it should
    come without deadlines. When a piece of software
    can kill, the author should not be afraid to
    miss his deadlines.

    1. Re:This is why we need to stratify software. by townmouse · · Score: 1
      This needs to change. There needs to be a grade of software that its programmers will stand behind. It should be governed by slow and laborious reviews, written by programmers certified for it. In other words, we need a software version of the rigors of civil engineering.

      Other people had exactly the same idea 25 years ago. Just add precise specifications and rigorous testing and you have software engineering. Software engineering is responsible for the very large amounts of highly reliable software used in applications like avionics.

      BAe and Boeing are not in the business of rushing out beta code to the masses, littered with disclaimers. This system would have been developed to a precise specification, with a careful methodology including strict programming rules, rigorous reviews and intensive testing. It failed nevertheless. No doubt the reason will be revealed.

      --
      Ask me if I've been required to disclose any crypto keys.
  37. Can't autorotate by A+nonymous+Coward · · Score: 2

    It's my understanding that the rotor size, dictated by the need to fit on carrier decks, prevents autorotation. I don't know enough aerodynamics to know why that is. But I believe it cannot autorotate.

    --

    1. Re:Can't autorotate by A+nonymous+Coward · · Score: 2

      You may be thinking of the V-22's limitation that it can't land in airplane mode because the rotors are so big they would strike the ground.

      No, the articles I have read specifically said autorotate. It was my naive read-between-the-lines guess that maybe they meant the rotor diameter was so small for the weight that the autorotation speed would be so high as to make it effectively incapable of autorotation. Remember, the rotor diameter is artificially small for its weight because it has to be able to land on a carrier. Presumably they compensate for this by making them spin faster.

      --

    2. Re:Can't autorotate by oni · · Score: 1

      >>Remember, the rotor diameter is artificially small for its weight because it has to be able to land on a carrier

      I agree that it can't autorotate due to the small rotor diameter, but I'm pretty sure the diameter is dictated by the need to tilt them along side the fuselage. I can't imagine why large rotors would prevent landing on a carrier. There seems to be lots of room on deck and the rotors can be folded when taken below deck. On the other hand, if the rotors were any larger they would cut into the sides of the aircraft.

  38. Re:Good Software Exists by FFFish · · Score: 3

    In reply to all those that say that using methodical, systematized approaches to software is overwhelming expensive:

    Bullshit.

    The cost of fixing your own goddamn mistakes, and the cost of maintaining your P.O.S. application is far, far, *FAR* higher than the cost of taking the time to do it right. And the cost to your users is even greater, in terms of downtime, data loss, rework, and inefficiency.

    Every naysayer needs to pull his head out of his ass. Go buy some quality education and/or books on software project management.

    There has been extensive, exhaustive, and rigorous research on software project management methodologies, software programming methodologies, and software maintenance practices.

    They all consistently come up with the same conclusions: the more time spent in planning and design, the less time spent in programming, debugging, maintenance, and end-user failures.

    There are NO excuses for the shoddy practices in use today. Better ways have been clearly identified. Your ignorance or slothfulness is an embarassment to the profession.

    Do it right, or get the hell out.

    --

    --

    --
    Don't like it? Respond with words, not karma.
  39. Re:Good Software Exists by FFFish · · Score: 5

    NASA's software development methodology is remarkable. Their work should be the standard by which every programmer measures himself against.

    Unfortunately, most programmers are underinformed, and haven't the foggiest idea that there's are methodologies that will reduce their error rates, increase their productivity, and meet their customers' needs fully.

    It's a shame that programming still has this bullshit mystique of "art" to it. "Art" is just a lame excuse for laziness: instead of approaching the problems methodically and scientifically, it's just ever-so-much easier to take a half-assed hack-and-patch approach.

    I think I'd better stop here, before I really kick into a rant...

    --

    --

    --
    Don't like it? Respond with words, not karma.
  40. Re:I think it's expensive, not too expensive. by GypC · · Score: 3

    Dude, I work in a hospital. The firmware on the monitoring systems is reasonable. Almost everything else (financial, scheduling, even pharmaceutical) is the buggiest most bloated crap you're ever likely to see.

    It's pretty sad... our main system is basically a Pick (that's right, Pick!) emulation layer running on top of HP-UX. It's horrible.

  41. Bugfree, hello world? by Colitis · · Score: 2

    > Has anybody ever seen a bug-free piece of software of any complexity greater than "Hello World"?"

    I've even seen Hello World with a bug in it. Forgetting the \n on the end of the printf in a shell which didn't LF when a program exited resulted in the shell prompt being printed over the top of the output...

  42. Perfect software is too expensive by Goonie · · Score: 3
    The cost of developing verifiably bug-free software is simply not justifiable in many situations, both in terms of financial cost and the restrictions that it places on what you can do.

    You try building something under that kind of methodology, and see what the cost to your productivity is.

    Go you big red fire engine!

    --

    Any sufficiently advanced technology is indistinguishable from a rigged demo
    --Andy Finkel (J. Klass?)
    1. Re:Perfect software is too expensive by reaper20 · · Score: 1

      The cost of the software is minimal compared to the cost of the whole aircraft. Just think about it, this is the US Military, the simplest things are expensive. American Soldiers, Marines, Sailors, and Airmen's lives depend on this stuff, it has to work. If there is a reason on why the cost is justifiable, this is it.

      Plus, how would you feel if you were a Marine:
      "Hey, you and all your buddies get in this thing so we can take you somewhere, it might crash, you might all die, but don't worry about it, the cost of the software wasn't worth your life."

    2. Re:Perfect software is too expensive by knight_23 · · Score: 1

      An old saying comes to mind, "remember all of your equipment was made by the lowest bidder."

      --
      __ Fast - Cheap - Good Pick any two
    3. Re:Perfect software is too expensive by stu72 · · Score: 2

      Then how on earth do civil engineers manage to build bridges & buildings that have an excellent chance of not falling down for a reasonable price in a reasonable amount of time?

      I can think of a few reasons:

      professionalism
      responsibility/liability
      methodical
      standardized etc etc.

      In another post, someone compared the two possible faults, design/implementation - i.e. a design fault would be the designer didn't specify enough rivets for the load, an implementation fault would be if not all the rivets that were listed in the design were installed.

      I'm not sure how we can apply this idea to code, but if people's lives are on the line, we must find a way.

    4. Re:Perfect software is too expensive by KenRH · · Score: 1
      We have been building briges and buildings for more than 5000 years. We have buildt software for less than 60 years, and most of these years the programs have been of a complexity compared to a small hut.

      Modern compting power allow software that are of a complexity makeing the space shuttle look simple.

      But we are learning, new paradigms and ideas for how to create good software are beeing developed and programing is moving from art to enginering.

  43. Not only that... by ch-chuck · · Score: 3

    And you've got to be able to get it to print out Hello World in the correct language from a single mouse click,

    and nowadays you also have to do exhaustive research to find out if someone has already patented the idea of printing "Hello World" with a single mouse click.

    --
    try { do() || do_not(); } catch (JediException err) { yoda(err); }
  44. Re:This is true by kzinti · · Score: 2

    My Win98 machine isn't as buggy as that airplane.

    And you stayed on it? Of the four passengers to board that plane, we know which one isn't the smart one!

    --Jim

  45. Knuth! by kzinti · · Score: 5
    Has anybody ever seen a bug-free piece of software of any complexity greater than "Hello World"?"

    I can't believe nobody's posted about Knuth yet. Donald E. Knuth is famous for writing high-quality software, and even proving some of it (all of it?) correct. He offers rewards to people who find bugs in his code. The reward for TeX and METAFONT is described here: http://www-cs-faculty.stanford.edu/~knuth/abcde.ht ml, under the heading "Rewards".

    --Jim

    1. Re:Knuth! by shinybeast · · Score: 1

      QA as a chore? You've got to be kidding. Finding bugs is challenging and rewarding, intellectually as well as monetarily. I've met many testers that couldn't test their way out of a paper bag. That being said, the best testers (a very rare breed) are more creative and insightful than even the best programmers.

    2. Re:Knuth! by jonnyq · · Score: 1

      Have you ever seen the series of dilbert strips where the PHB offers the engineers money for every bug they find in the code that they wrote? Basically the first thought that came to their minds was "Yess!! I AM RICH!!"

    3. Re:Knuth! by Lord+Omlette · · Score: 1

      I fail to see how this is a troll. If people were paid to find bugs in software, it would make the code review process that much more exciting, ne? I mean, most people look at code review & QA as a chore, right? Some people get paid to use it, but I bet users would be all over something like that.

      Peace,
      Amit
      ICQ 77863057

      --
      [o]_O
    4. Re:Knuth! by Barlo_Mung_42 · · Score: 1

      "I'm going to go code myself a new minivan!" -Wally

  46. Re:Return Value? n/t by Phexro · · Score: 1

    lame.

    7 is moot, since the param list for main() isn't necessary, since the program takes no arguments. besides, it would have been much better had there been a deceptive param list.

    8 is also lame. the other poster mentioned that programs calling the hello-world prog would not be reliable, but i think that's more of a design flaw rather than an implementation flaw.
    ---

  47. Re:Return Value? n/t by Phexro · · Score: 2

    eight? i only see six:

    1. left-curly-brace after `void' instead of left-parenthesis.
    2. right-parenthesis starts the block of code, instead of right-curly-brace.
    3. printf args start with right-bracket, instead of right-parenthesis.
    4. n\ instead of \n.
    5. string arg to printf closes with a single-quote, not double-quote.
    6. comma after printf(), not semicolon.

    now, i could be lame and count not returning a value from main(), but that's a warning, not an error. and it only shows up if you use -Wall. and let's face it, no real hacker ever uses -Wall.


    ---

  48. What bugs? by panda · · Score: 1

    Bugs? What bugs? Those are undocumented features.

    --
    Just be sure to wear the gold uniform when you beam down -- you know what happens when you wear the red one.
  49. Re:This is true by DavidTC · · Score: 1
    Dude, all professions have people who make jobs, even about life and death. There are doctors who joke during surgery (Or have you never watched M*A*S*H or ER?), there are miners who joke about cave-ins, and, yes, there are pilots who joke about crashing and dying.

    Rather like techies joke about rm -f /, actually.

    If anyone has to do things day in and day out, they will start joking about it. And jokes are often in 'poor taste'. And, if you're their only 'customer', sometimes they will even let down their guard and joke with you. Of course, killjoys like you would be reasons they don't.

    Oh, check out here for some great actual airline announcements.

    -David T. C.

    --
    If corporations are people, aren't stockholders guilty of slavery?
  50. Re:"one reason to fear too much technology" by DavidTC · · Score: 1

    So, if you could win a war with losing one person in half an hour, that would be worse then losing 300,000 people over 10 years? That is illogic. It's total causualties, and perhaps total running time, not casualties per hour. I have no clue who would care about about casualties per hour.

    -David T. C.

    --
    If corporations are people, aren't stockholders guilty of slavery?
  51. Re:"one reason to fear too much technology" by DavidTC · · Score: 1

    No, they care about total casualties and total time. If they cared about casualties/hour, then they would stretch the war out as long as possibly, with months between attacks.

    -David T. C.

    --
    If corporations are people, aren't stockholders guilty of slavery?
  52. Re:This is true by DavidTC · · Score: 1

    Actually, I get my information from my aunt, an RN. I was telling you where you could get information. And I'm not aguring with you anymore, anyone who thinks airline pilots and doctors aren't human and don't make jokes about their work is not really worth of my time.

    -David T. C.

    --
    If corporations are people, aren't stockholders guilty of slavery?
  53. Fly-by-wire systems are very complicated by RayChuang · · Score: 3

    Folks,

    I think people don't understand that fly-by-wire systems in general are extremely tricky to set up and work properly.

    Remember, when the F-16 was designed, the use of FBW was considered extremely daring--and it took a long time to work the bugs out of that system. Remember the Airbus A320 jetliner? Airbus thought its systems was better until that bizzare crash at Mulhouse, France in 1988 where the plane literally flew straight ahead into the hill. Or the numerous problems Saab had developing the FBW system for the JAS 39 Gripen fighter.

    Even now, FBW systems are still tricky to use--witness the problem with the Boeing 777 and the fact there was much complaints from passengers about the plane pitching up and down substantially during turns causing motion sickness; Boeing had to carefully reprogram the FBW software so the plane wouldn't pitch up and down so much during turns.

    I think the problem with the V-22 Osprey is that the FBW systems are extremely complicated, and it will take a tremendous amount of work to get everything to work correctly.

    --
    Raymond in Mountain View, CA
  54. most peoples posts are going to be about.. by RAruler · · Score: 3

    A) Their own buggy hello world programs gone wrong (modest) B) Other peoples buggy hello world programs gone wrong (liars) C) People who fear technology (luddites) D) People who say it was the human error (technocrats) E) People who don't know what Hello World is (people who use AOL)

    ---

    --

    --
    Insert Witty Sig Here
    1. Re:most peoples posts are going to be about.. by rkent · · Score: 2
      you forgot...

      F) People who will say that the gov't should open-source the Osprey drivers, magically fixing all bugs in the code.

    2. Re:most peoples posts are going to be about.. by eam · · Score: 1

      That's not a bad idea, but then we'll all have to get used Osprey's to test the code on. Or maybe the government will just give out some to help developers.

    3. Re:most peoples posts are going to be about.. by r_j_prahad · · Score: 2

      You forgot one other... F) People who post source to "Hello World" that they claim is correct, except it's not. There's already been one of them.

    4. Re:most peoples posts are going to be about.. by Flying+Headless+Goku · · Score: 1

      #include ;

      void main(){
      char buffer[12]="Hello world!";
      printf("%S",&buffer);
      return 1;
      /*Yay done /*END_PROG*/ and no bugs!*/}
      --

      --
  55. Re:Bugless code? by Grifter · · Score: 1

    Want bugless code? never going to happen... but programming in Assembly gets you closer to it.

  56. testing software by Grifter · · Score: 1

    One of the best ways to have minimal bugs in your software is to write a testing program right along with your prize software. Making a testing program lets your test and record infinite possibilities and the outcomes. It makes debugging almost a thing of the past.

  57. Re:Can you believe this guy? by nosferatu-man · · Score: 1

    "Hello, my name is Bengo, I like to climb on things! Eek eek, can I have a banana?"

    I love that record.

    I like hubcaps, antfarms, etc.
    (jfb)

    --
    To spur "enterprise Linux," Big Bang, the distributed two-phase commit.
  58. Re:Can you believe this guy? by ethereal · · Score: 1

    It's true that it's not a technology problem, though - according to some news reports, the government knew there were problems but didn't want to embark on a redesign effort until they had secured funding for a full production run of the aircraft. Like most software issues, this one only became a huge bug when coupled with management's inability to properly manage software development.

    --

    Your right to not believe: Americans United for Separation of Church and

  59. Bug free program: Metafont by jurgen · · Score: 1
    From "man mf":
    On January 4, 1986 the ``final'' bug in Metafont If an error still lurks in the code, Donald E. Knuth promises to pay a finder's fee which doubles every year to the first person who finds it. Happy hunting.
    Also "man tex" lists one bug... and I wouldn't be surprised if it was the only one. Writing bug free programs is possible. Indeed, according to another great CS luminary, E. W. Dijkstra, there is no such thing as a "bug"... the very term "bug" is mere a vain attempt by the programmer to disavow responsibility for an error by pointing at some imaginary insect stuck in the machine. Programmers make errors, and these should be avoided... that they are as poorly avoided in software today as they are is really a scandal of omission; we should be putting far more effort into the art and science of writing correct programs.

    --jurgen@botz.org

  60. Re:Bridges by dillon_rinker · · Score: 2

    Right, and hand-held calculators aren't correct to 9,000 significant digits. What's your point? That limitations are bugs? I would suggest that well-documented limitations are not bugs.

  61. Re:Good Software Exists by Sir+Spank-o-tron · · Score: 1

    yeah, NASA is so great they crashed a mars probe cos they can't tell the difference between meters and feet!

    --
    -- Spankmeister General
  62. 5% of bugs are system bugs by cpeterso · · Score: 2

    Even if Naur proved his program correct, about 5% of bugs are caused by operating system, library, or hardware bugs. He would still need to test. For example from work, I work on a Win32 program that uses sockets. Windows 95, NT4, and 2000 have slightly different Winsock bugs. :-(

    1. Re:5% of bugs are system bugs by cpeterso · · Score: 2

      but if his program fails to meet the expected functionality in the program specifiction, then his program fails to meet the user requirements.

      For example, I stumbled upon a socket bug in NT4. I can't just ignore this bug and pretend my software is correct because users expect my program's features to work on Windows 95, 98, NT4, and 2000. So now my code has a hack to workaround this NT4 bug. btw, the bug was that WSAEnumNetworkEvents() always returns with the FD_CONNECT bit set for sockets, even after my code already finished connecting the socket. :-(

    2. Re:5% of bugs are system bugs by evil_one · · Score: 1

      This may seem a little bit nitpicky, but if the software is written correctly, but fails due to the OS, isn't the fault with the os?
      ---

      --
      Desperation is a stinky cologne
  63. Re:Fool by clancey · · Score: 1

    I had this nightmare once, where I was getting laser eye surgery. Just after they locked my head in place, out of the corner of my, I catch sight of the Micro$oft flag and then ...blue screen of blindness.

    --
    clancey
  64. Re:Good Software Exists by _Splat · · Score: 1

    The Challenger blew up because it was launched on a day that was too cold for some o-rings, causing fuel to leak out. Software had nothing to do with it.

    --
    -Splat
  65. Re:let the... by _Splat · · Score: 1

    Shut up you ignorant right-wing piece of shit.

    --
    -Splat
  66. Re:Good Software Exists by Moofie · · Score: 1

    Ummm...how many humans were on that probe that crashed? Oh, right...zero. The standards for manned and unmanned spaceflight are pretty damn different.

    --
    Why yes, I AM a rocket scientist!
  67. Bridges by maxume · · Score: 1

    Lots of old bridges have limits on the weight that should be driven over them...

    --
    Nerd rage is the funniest rage.
    1. Re:Bridges by maxume · · Score: 1

      I was driving at the fact that the bridges do in fact have some sort of disclaimer...I see your point though

      --
      Nerd rage is the funniest rage.
  68. Re:Good Software Exists by CoderDevo · · Score: 1

    Are you presuming that the Osprey project developers were not following these Methodologies?

  69. Re:RTOS has to reboot? by ThePlague · · Score: 1

    Gives a whole new meaning to "kernal panic".

  70. Re:Even "Hello World!" not immune. by nhw · · Score: 1

    By writing code in a language like SPARK (an Ada83 subset), you can then use mathematical tools to formally prove each part of your code to be "correct".

    Just to point a few minor inaccuracies here: firstly, SPARK is not an Ada subset at all - although the executable part of a SPARK program is always a valid Ada program, simply writing an Ada program with the subset of executable statements that is defined to be SPARK will not result in a SPARK program.

    This is because SPARK has non-executable annotations (which look to an Ada compiler like comments) which are used for static analysis of data and information flow, and also for proof.

    Secondly, even if you do regard SPARK as an Ada 'subset', the recent versions should certainly be regarded as Ada 95 derivative, rather than Ada 83.

    The reason why I put the word "correct" in quotes is because there is no good, formal definition of what "correct" means. The code may be provable to do exactly what you intend for it to do, but that's not necessarily the same as what it should be doing.

    Good requirements capture and specification are obvious prerequisites to good software: the software engineering discipline does not begin where one starts to write code! The chain is clearly only as strong as its weakest link; historically, however, actual software implementation has resulted in bad, buggy and dangerous software with alarming regularity. Strong static analysis and proof tools can do a lot to minimise that risk when used properly.

    --
    -- O improbe amor, quid non mortalia pectora cogis!
  71. Life-critical versus money-critical code by remande · · Score: 2
    There are two quality levels for software: money-critical (often called mission-critical or business-critical) and life-critical. The former type of software causes people to lose time and/or money when it fails. The latter causes people to die when it fails.

    Most programmers, including myself, do money-critical software. Unless we are specifically trained to write life-critical software, it would be dangerous to even try. Money-critical coders would write unacceptable bugs into life-critical code, killing people. OTOH, life-critical coders working on money-critical code would get fired for failing to show progress.

    Life-critical software is rare; the Osprey fly-by-wire and similar code is part of that. Note that its nav computer, comm scrambler (if it has one), and similar systems are not life-critical.

    The reliability of life-critical software must be incredible, by commercial standards. Think of a pacemaker. To make sure that its failure rate is rare, it needs to have an uptime of centuries; that is, we should have hundreds of pacemaker-years before a software glitch.

    Even Linux doesn't have that sort of reliability. It claims uptime in years, not even decades.

    If you want to write life-critical software, you havew to know exactly what you are doing. You need to test extensively. And you need to limit the scope to the bare minimum.

    When you build an airplane, the life-critical software they put on board takes about as long to write as the plane takes to build. That means that a "simple" fly-by-wire system can take five to ten years to write.

    Imagine writing commercial software that way. If you really wanted to, you could build a life-critical office suite. However:

    • It would run on the bare metal, because there isn't a desktop OS with life-critical quality to sit on
    • It would take ten years to build
    • It would have the features of a 1995 office suite
    • It would cost several times as much as similar software.

    The priorities in money-critical software are radically different. We throw away the need for as much quality so that we can get the code out the door in six months, rather than ten years. For that, we get an amazing array of features, and very affordable software.

    If we built money-critical software to life-critical standards, we might just might have gotten to QDOS by now. If we built life-critical software to money-critical standards, you'd never see me anywhere near a hospital or an airport.

    --

    --The basis of all love is respect

  72. Software often gets in the way of piloting anyway by mav[LAG] · · Score: 3
    Initial tests of flying aircraft by computer had poor results. In a non fly-by-wire aircraft - be it helicopter or fixed wing - the pilot can feel what the vehicle is doing at all times by placing his (or her - hi Jane :) hands on the controls. You can't feel that when computers are added to the equation.

    Add in software to control some aspect of flight and the pilot is automatically "further away" from the craft he's aviating. It sounds obvious and I'm not going so far as to say that computer-controlled systems are evil in and of themselves, but it's an aspect of modern flight where the negatives are often overlooked.

    I've seen compelling evidence that another layer on top of the data that the plot must interpret is a Bad Thing. Anything that changes the pitch of a chopper's rotors other than your left hand on the collective should be viewed with extreme caution IMHO.

    --
    --- Hot Shot City is particularly good.
  73. qmail? by fuckface · · Score: 1
    Has anybody ever seen a bug-free piece of software of any complexity greater than "Hello World"?

    If I'm not mistaken the reward for finding a bug in qmail-1.03 was never claimed.

    1. Re:qmail? by duffbeer703 · · Score: 1

      The reward was for finding a security hole.

      Qmail has several bugs.

      --
      Conformity is the jailer of freedom and enemy of growth. -JFK
  74. Re:Bug Free by Pemdas · · Score: 1
    Were you that confident that the libc/whatever other support libs were invoked were also bug free?

    That the compiler didn't miscompile your code?

    That the system calls invoked have no bugs?

    Software bugs can crop up in lots of places other than the code you just wrote...and the farther you get from your own source, the more of a pain in the butt they are to find.

  75. Re:This is true by Marillion · · Score: 1

    I work for an airline. A big one. It doesn't have any Airbus aircraft in its fleet. Airbus has a philosophy that the airplane is smarter than the pilot.
    There's a very famous incident at an airshow where the pilot got a little too close to the ground going a little too slow. Sure getting into trouble was the pilots problem, but the aircraft wouldn't let him get out of trouble.
    Now and again, you can catch footage of the crash on Discovery Channel or similar programs.

    --
    This is a boring sig
  76. yep. by gimpboy · · Score: 1

    all problems found after the death of knuth will be declared "features".

    use LaTeX? want an online reference manager that

    --
    -- john
  77. Hello world is hard! by readams · · Score: 1

    Hello Wor
    Segmentation Fault

  78. Yeah -- all my perl scripts sucka by toaster13 · · Score: 1

    Yeah -- all my perl scripts sucka

  79. Re:In other news... by Q-Hack! · · Score: 1

    Do you realy think that they would respect US law? I dont. The GPL only has power in countries that have/respect copyright. and China DOESNT.

    Sanchi

    --
    Some days I get the sinking feeling Orwell was an optimist.
  80. Hello World is buggy by nullset · · Score: 1

    Actually, most versions of 'hello world' that i've seen fail to check the return value of printf!

    and in many of them, main does not return a value indicating success or failure. *shrug*
    --buddy

    1. Re:Hello World is buggy by TM22721 · · Score: 1

      I have seen more bugs and untested code in programs that use extensive range and error checking than for any other single reason. This is why programs with extensive error checking are generally less reliable and verboten in embedded systems requiring 24/7 operation. In embedded systems there is rare need for error checking anyway, since the inputs are collected mostly from machines and not humans.

    2. Re:Hello World is buggy by Reality+Master+101 · · Score: 1

      Actually, the only standard that matters is the ANSI C standard, because that is a Standard Library call. However, checking the standard, I see you are correct. It does return the number of characters, but it also returns an error code if its negative in the case of fprintf (which printf is a special case of). sprintf, on the other hand, does not return an error code.

      However, you have a portability problem in your program. There are only two values that are portable for exit(): EXIT_SUCCESS and EXIT_FAILURE. It is also legal to use 0 and 1 for these values, respectively. Now, the ANSI standard allows you to use other values, but it is implementation dependent what the OS does with them.

      I could also point out that errno.h is unnecessary since you don't use any error number constants.


      --

      --
      Sometimes it's best to just let stupid people be stupid.
    3. Re:Hello World is buggy by Reality+Master+101 · · Score: 1

      Oops! You're right...


      --

      --
      Sometimes it's best to just let stupid people be stupid.
    4. Re:Hello World is buggy by Reality+Master+101 · · Score: 2

      Er, 'printf' doesn't return a status, it returns the number of characters printed. You don't need to check it.


      --

      --
      Sometimes it's best to just let stupid people be stupid.
  81. Re:Good Software Exists by Slak · · Score: 5

    I was going to cite the Shuttle as well. Here is a great article about it.

  82. Medical Software by kettch · · Score: 2

    The hostpital that I work at recently spent a couple of hundred thousand dollars on a very complicated piece of patient scheduling (it does other stuff too) software.

    The company is MediServe (just so that you guys can know and avoid them in the future) and they sold the hospital this software that was at version 1.x. We should have gotten a discount from them for being a beta site.

    First of all, this thing requires an SQL server in the backend to handle the data. OK, that's no problem. But this software can't even talk to M$ SQL server! It required an interface pc to translate between the desktop software and the SQL server.

    After that, the real trouble started. Even though it was a 1.x release, the project manager felt that it should have been in the early beta cycle. He would spend hours on the phone relaying bugs to the developers. These were bugs that our poor users were wasting time documenting and working around. (luckily it is currently running in parallel to the original system.) In one week, we recieved 5 (yes, five!) new versions of the software. That was only in one week!.

    My theory, is that some moron messed up on the budget and they started running out of capital and had to find some suckers to pay them. and they got paid to have someone else test.

    A word of caution to everyone out there, Investigate new applications before you buy!
    ----------------------

    --
    Opportunities multiply as they are seized. --Sun-Tzu
  83. Even "Hello World!" not immune. by rjh · · Score: 2

    In order for software to function perfectly, three things must be present: a perfect operator, perfect hardware, a perfect operating system and perfect code. If you've got buggy hardware or an unreliable OS, even something as simple as "Hello World!" can bring you down. And if your human operator makes a mistake, then the entire thing collapses like a house of cards.

    Some people think that the provably-correct school of software design is a panacea to all ills. By writing code in a language like SPARK (an Ada83 subset), you can then use mathematical tools to formally prove each part of your code to be "correct". The reason why I put the word "correct" in quotes is because there is no good, formal definition of what "correct" means. The code may be provable to do exactly what you intend for it to do, but that's not necessarily the same as what it should be doing. If you're writing code to control the flight of an F-16, it doesn't matter how perfect your code is if your code makes the assumption "hey, if one engine fails, we can just switch to the other".

    (For those who aren't aeronautically inclined, an F-16 has one engine.)

    The way to produce better code is clear. Publish your code; do internal audits; put it out in the field in non-critical environments for real-world testing; get a good feedback loop going from your users. This results in code we can trust; it does not result in bug-free code.

    Perfect systems require perfect operators, perfect hardware, perfect operating systems and perfect software. Even if you can get the last three, you'll never get the first one.

  84. Repeat something enough...... by twinpot · · Score: 1

    The "urban myth" regarding the Airbus crash is quite obviously false.

    The idea that the computer would not allow power to be applied because the aircraft is low, has its landing gear and flaps down (oooh, it must be landing thinks HAL) overlooks the point that applying power in the "landing configuration" is a necessity for the standard "going around" procedure.

    Going around is where a pilot aborts a landing for various reasons, and goes around for another try. Full power is applied, sometimes at very low altitudes. The computer would not prevent this. Power is also applied for "sinks" close to the runway, difficult weather conditons etc.

  85. I am going out on a limb here... by cr0sh · · Score: 3

    So mod me down, if you must...

    The article is kinda thin on details in exactly what way the aircraft acted, but basically these three events occurred:

    1. Hydraulic line is severed, warning lights go off, including one on the reset button.
    2. Per training, pilot hits reset button once, then multiple times.
    3. The rotor pitch changes, causing the craft to inevitably crash.

    Now, the article says that the hydraulics have had problems in the past... Here is my take:

    In the three pieces I outlined above, two stand out as being really underdefined (or wrongly defined) in the article: Number 1, in that they don't mention what the hydraulic line controlled, and number 3, in that they make it ambiguous as to whether the blade pitch changed, or the rotor (ie, the pod) pitch changed.

    The V22 is a tilt rotor craft. Say perhaps it was the pod pitch that changed, and not the blade pitch, and the hydraulics that were damaged were the ones controlling the pod tilt on one side. The reset button is hit, computer say "go into hover mode" and only one pod tilts...

    See where I am going at? Perhaps what the reset button did was intentional - but the programmer assumed that both pods were working. I am not saying there wasn't a bug - somewhere along the line there was - but the way the article was written doesn't really tell what happenned...

    You may mod me down - I am sure I have various things incorrect (for all I know the tilting is done with electric motors - but I doubt it)...

    Worldcom - Generation Duh!

    --
    Reason is the Path to God - Anon
  86. Re:Software often gets in the way of piloting anyw by Owen+Lynn · · Score: 1

    Anything that makes you want to get into a chopper should begin with you visiting a mental health professional. Rotorcraft are finicky and dangerous.

    I'm currently going through the hoops to get a private pilot's, and from what little I've seen of the aviation world, everything that can be analog, is. And there's a fair amount of stuff sitting in front of you that isn't even electric. The gyro indicators run off of engine vacuum! If airplane engineers have suspicions about electricity, forget about ever trusting anything like a computer.

    Some of the newer heavy metal is heavily computerized, but outside of that small minority, most general aviation planes are close to 100% hands on. I suspect that even the fuel injected turbo charged engines have no computer control. And I'm not sure you'd get many pilots into a plane that had a computer controlled engine.

    About the only thing computerized that has gained any traction are the GPS mapping units. But those just provide information only, and don't affect any vital flight system.

    Like everything in engineering, computerized automation provides some tradeoffs. In exchange for removing some complexity from the user, the cost is more overall chaos in the system. For some applications, this makes sense, for others, it doesn't.

  87. Re:V22 by Desert+Raven · · Score: 1

    >>Funny, they didn't spec a new helicopter.. The sped'ed a VTOL aircraft.

    No, they didn't. This is from Air Wing senior officers *before* the Osprey contract was awarded.

    >>Funny. The Corps has been the most vocal in trying to get it finshed.

    True, once they got saddled with it, they knew they had to make it work, or they'd be left with nothing. Those CH-46's aren't going to fly forever, they're already WAY past their expected life cycle.

    >>Funny. They have been trying for years to get more of one of the most complicated and difficult to fly aircraft in the world. The AV-8 Harrier.

    Ever work on one? I have. It's actually a very simple aircraft, and pretty easy to maintain. Having only one engine, you don't have to worry about out-of-balance engines flipping your craft like a flapjack. The Soviets built a two-engine copy of the Harrier, it was the most dangerous birds in their inventory. (Starting to see the flaw in the Osprey?) One of our Harriers hit a Great Blue Heron on takeoff, sucked a good part of the canopy through the intakes, and the pilot still managed to bring it back for a landing (with a dislocated shoulder). The AV-8B is a very rugged aircraft, I'd take a ride in one any day.

    >>Translation: I'm a clueless line grunt who confuses my narrow perspective with the requirements of the Corps.

    Oops, sorry, I spent over 4 years with Marine aviation units, primarily AV-8B Harriers. While I wasn't a mechanic (Navy Corpsman) I did my share of assisting (carting around parts, holding tools, removing panels, and strongbacking bombs). I've also flown as crew on CH-46 and UH1N Helos.

  88. Re:V22 by Desert+Raven · · Score: 2

    There's a word for this, it's called "overengineered". The Marine Corps wanted a new helicopter, what they got was on over-engineered, overly-expensive, overly-complicated monstrosity that has already taken taken twice the time it would have taken to develop a new helicopter, and *IT'S STILL NOT READY*. In the meantime, their aged fleet of CH-46 Sea Knights (many with authentic Vietnam-era bullet-holes) is just getting older, and failing more frequently.

    Folks, the Corps didn't *want* this piece of shit, they got it rammed down their throat by a congressman who is in the pocket of the manufacturer, and his buddies, who owed him a favor. Now they're stuck with it.

    The Marine Corps is the smallest of the military branches, with the smallest budget. They *don't like* complexity or high cost. They want extremely reliable, easy to maintain equipment at reasonable cost. This monstrosity doesn't qualify for even one of these criteria, let alone all three. They even got the name wrong, it should have been named "Albatross".

    You cannot believe how grateful I am that I am no longer with the Marine Corps, just so I *never* have to get in one of those things.

  89. bugs buds bugs by nhurm · · Score: 1

    I squash many bugs each day and the remains seem to serve as fodder for nourishing those that remain so they can breed more... Such is working on .5 million lines of olllllld krufty code that has been re-worked over years by many hands of varying skill but stll klunking a long and making money kuz it's got a fairly protected niche... It's still makes money who cares it it's good... We'll just have it re-written in India next year..

    --
    morturii
  90. space shuttle software. by BenLutgens · · Score: 1

    There is some soft(firm) ware that controls most of the functions of the space shuttle that is tested like no other software anywhere. There 5 times as many test engineers as there are coders. There are also some serious regression tests that aggressively simulate and create problems in an attempt to bring bugs into the open.

    --
    "If you love someone, set them free. If they come home, set them on fire." - George Carlin
  91. Re:RTOS has to reboot? by DaBunny · · Score: 1

    I believe the computer responded to the hydraulics failure by shutting down the engine. The pilot was attempting to override that (or misinterpreted what had happened?) which was why he was trying to reset the computer.

  92. Re:RTOS has to reboot? by Velox_SwiftFox · · Score: 1

    [...]The Ospery is a plane which requires computer control. No human being is able to compensate or be aware of all of the servos and control surfaces on that aircraft[...]

    Example: Program is reset by pilot pushing the button. It can't know why. Reads control and servo positions. Should it try and adjust anything or not?

    Remember this was an emergency situation where a physical hydraulics failure caused the reset light to come on. How is the computer supposed to set the hydraulics not to jerk when it first attempts to control the plane with those faulty hydraulics?

    If the pilot was not supposed to use his judgment as to whether to press the reset button or not there would be no need for the button and light instead of a direct reset. The pilot was under control of the reset process and chose to punch the button.

    Why was that button there, is the question I have. For the flight computer to do what you seem to expect it has to be able to handle an immense number of failure scenarios, and must have the data, sensors, and expert systems programming to detect and compensate for them. Almost, it has to be smarter than a human. It can't be, really.

    That's why the pilot is there, get it? In case the light has to be ignored.

    In my experience, the designs of systems tend to get fscked up by companies who promise more than they're willing to pay for in the way of engineering, than by the engineers who do what they're told. If it is possible with the budget, time, and technology in the first place - things are often required which are not possible, or wise - like the anti-helocopter cannon that was supposed to anticipate random target movements, or the front and rear positraction ordered on the prototype Hummer vehicles that would jerk the steering wheel out of your hand on turns.

  93. Re:I think it's expensive, not too expensive. by pnatural · · Score: 1

    got you beat:

    i work at a telco, and our billing system runs emulated wang on aix.

  94. Re:V22 by GooseKirk · · Score: 1

    Y'know what I don't get... this is a combat aircraft, but it seems to me that it's amazingly delicate for something that's supposed to be getting shot at. Even with patched-up avionics, the Osprey looks to my untrained eye like it'd be easier to shoot down than, say, a Blackhawk. At least a hawk has the possibility of autorotation - the Osprey looks like it'd drop like a rapidly spinning brick at the first sign of small arms damage. Surely this ain't the case... anyone have any insight into this?

  95. Re:This is true by GooseKirk · · Score: 1

    Oh, man, that's fuckin' beautiful.

    I feel like I'm in on the joke now.

  96. Re:This is true by GooseKirk · · Score: 1

    Haven't flown much, have we? That's OK, when you get to be an adult, you will.

  97. Re:This is true by GooseKirk · · Score: 2

    Too true. One of the stewardesses questioned my sanity, and all I could say was, hey, I don't really have a high regard for my own personal safety.

    To that end, I also remember the pilot leaning back in his chair and yelling back at me something about some new system glitch, and whether or not I thought it was serious, and I yelled back my standard reply: "(whatever it was)? Hell, that's non-essential, ain't it? Screw the FAA, let's roll! How many people can we possibly kill here?"

    But actually, since the "cancellation" of the flight, I knew that all the flights leaving that morning would be *packed* full of grumpy, anxious, sleep-deprived people, many of them with babies. Given the choice between that and a plane all to myself with all the first-class benefits, even a wonky Airbus plane, it wasn't much of a choice. What're the odds, right?

    Besides, by that time me and the flight crew were *tight*, man. We were all goin' down together.

    Uh... not in the Mile-high Club sense, though.

    But if ever there were an opportunity, that would've been it...

  98. Re:Finish the story by GooseKirk · · Score: 2

    Strangely enough, I did. Shame about the flight crew, though. Damnedest thing.

    And come to think of it... I've never been sick, either. And I was only faking that car accident injury because I loved my wife. Huh. Maybe I'm... Unbreakable.

    I'll be right back - I'm gonna go test that little hypothesis.

  99. This is true by GooseKirk · · Score: 3

    I was waiting for a flight on an Airbus one night when they announced that they needed to replace a part, and while it might arrive that night, they told everyone the flight was probably cancelled. Not having anything better to do, and being stuck at the airport anyway, I decided to wait it out.

    By the time the plane boarded at 3AM, I was one of only four passengers. Shortly after we boarded, the Airbus computers started having fits. They opened and closed the door to the plane 5 times, went through one shift change of mechanics, pulled away from the gate once, power-cycled twice and finally got the computers working properly at 8AM, exactly 12 hours from when I was originally scheduled to leave and minutes before the flight crew timed out.

    The cool thing was, I was the only passenger left at that point. The other three chickened out and decided to go on other flights. I think the pilot would've liked to have done the same thing, actually... he was a little nervous. He told me at one point, after a flap malfunction light came on, that he had a real bad feeling about this flight. They kept asking me what I thought, and my answer was always the same: hey, we're flying light, we don't *need* flaps, right? Let's just go! Haven't they got real long runways in Detroit?

    The pilots say they like flying the Airbus, but I dunno. My Win98 machine isn't as buggy as that airplane. You should've heard the mechanics bitching about Airbus computers... I already hate the seats they use, and now I sure don't trust the systems. I try to avoid Airbuses wherever possible these days...

    But it sure was a fun being the only passenger on a big jet like that...

    1. Re:This is true by Paradise_Pete · · Score: 1
      There are doctors who joke during surgery (Or have you never watched M*A*S*H or ER?)

      I commend you for providing references for your information. Do you get your info on nuclear power plants from The Simpsons?

    2. Re:This is true by TheLink · · Score: 1

      I think he probably wanted the flight cancelled.

      If there are no passengers, it's easier to cancel the flight.

      Basically if the _plane_ screws up, even if the pilot survives, his career is in jeopardy.

      Cheerio,
      Link.

      --
    3. Re:This is true by Bluesee · · Score: 2

      So what is it with those French programmers, anyway? :)

      When I was working on the Systems Requirements for the EELV program, I recall that the Ariane 5 struck us all with a horrific sense of dread. This dread comes about when you realize that, no matter how hard you try, you cannot simulate all conditions that software must function in and all situations that it must respond to. The SRS (Software Requirements Specification) tries to cover all the bases, but while you can specify environments for hardware (temperature, humidity, acceleration, vibration, etc...), you cannot often provide a spec for all that might happen to software. In the Ariane 5 case, they changed the hardware; I believe that they upgraded to a new main booster whose horizontal velocity capability exceeded that of the previous booster, but they decided to re-use the software from the old one. When the rocket started going sideways, the value exceeded the bounds and the s/w crashed. Ahhh, here.

      I am writing this for a reason: Engineers and software developers often scoff at requirements, preferring to design rather than focus on What they are Designing To. Without a proper SRS, you really don't know if you've covered all bases. Even with one you don't.

      But this stuff ain't web pages, man, it's Serious Stuff! And a big portion of the budget needs to go into Requirements Development, at least 25% (actually I once read that the Japanese put 40% into up-front requirements and conceptualization, thus eating our lunch in the automotive industry).

      What you don't spend in up-front requirements development you spend in test and verification. What you don't spend in either, well, you spend that in environmental clean-up, insurance costs, and lives.

      Sounds like the Osprey folks should have paid a little more attention to their SRA (Systems Requirements Analysis).

      Incidentally, while I Understand the massive cost savings (up front!) available through Object Oriented Systems Analysis (emphasis on reuse!), remember that there are no easy shortcuts, and be aware of the dangers inherent in cutting and pasting!

      --
      SDMI: Finally! Music that won't rip or burn! Brought to you by the fine folks at RIAA.
    4. Re:This is true by eam · · Score: 1

      >Rather like techies joke about rm -f /, actually.

      Wouldn't you want to use `rm -rf /`?

  100. Re:Return Value? n/t by sconeu · · Score: 2

    7. Incorrect parameter list to main()
    8. No return value from main specified.

    --
    General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
  101. Re:Holy shit by sconeu · · Score: 2

    Speaking as a former employee of a defense contractor, if I were the Navy brass, I'd court-martial the guy who considered the system to have passed FQT without an adequate test.

    Whenever we had as system go through QT, we were not allowed to have any priority 1 or 2 problems.

    Priority 1 = System failure. Danger to operators.
    Priority 2 = Danger to operators.
    Priority 3 = Nuisance, no workaround.
    Priority 4 = Nuisance, workaround.
    Priority 5 = other (minor).

    What jerk allowed this obvious priority 1 problem through? I hope they find his ass and court-martial him!

    --
    General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
  102. Re:Cover-up by sconeu · · Score: 2

    they haven't got any new helicopters since the Blackhawk

    What the hell are you talking about? My last job was working on the avionics upgrade for the AH-1Z Cobra and UH-1Y Huey choppers!

    --
    General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
  103. Re:"one reason to fear too much technology" by ktakki · · Score: 2
    Let's not forget that the technology in the V22 is akin to the technology that allowed us to wipe out most of the Iraqi army in 100 hours with an incredibly small number of Coalition casualties.


    Let's see, roughly 100 casualties over 100 hours.

    Extend that over the eight years of the Vietnamese War and you get slightly over 70,000 KIA, more than the 55,000 names inscribed on the Wall.

    Yeah, that's progress alright.

    k.
    --
    "In spite of everything, I still believe that people
    are really good at heart." - Anne Frank
    --
    "In spite of everything, I still believe that people are really good at heart." - Anne Frank
  104. Re:Bug Free by DMoylan · · Score: 1

    I used an animation program called Autodesk Animator and over 1000s of hours use it never crashed once.... I really miss its reliaibilty!

  105. Re:Can you believe this guy? by mwalker · · Score: 1

    So let's see... it's not a showstopper. A reset button that instead changed the pitch of the rotors and caused uneven acceleration (which the pilot could not have anticipated). That sounds like a showstopper to me.

    Ground the planes, fix the bug, fly the planes. A "showstopper" is something bad enough to ditch funding for the project. If a single software glitch is enough for you to abandon an entire project, then you should stop reading slashdot, because at one point in its history, it has had a bug.

    I'd try to change your mind, but hopefully you'll just take this to heart and do us all a favor.

  106. Re:Can you believe this guy? by mwalker · · Score: 1

    my bad.

    sorry for the flame.

    i think we're in agreement that it's time to ground the planes.

  107. Holy shit by mwalker · · Score: 2

    The report said that the software had been tested in December 1996 but that those tests did not adequately check the reset system.

    Speaking as an embedded real-time programmer, if I were designing software to control an aircraft full of servicemen, and I let my software get released into an aircraft without ever having tested pushing the "reset" button in flight, I'd take myself out in the back yard right now with a .357 and do the world a favor.

    I write embedded communications software, and we spend weeks on cold and warm reboot scenarios per-blade and per-chassis.
    The worst thing that happens if my software goes down is that somebody's pr0n gets cut off.

    Ho-ly shit, folks. Can we all just go out, buy a clue, and mail it to these people?

  108. Not really by samantha · · Score: 1

    The moral of the story is not that there was too much technology or that there is such a thing as too much technology. The moral of the story is that we need to be a lot smarter and more skillful in the creation and deployment of technology. Another level of moral is that we need a lot better tools and development practices. And a final moral is that we need software that is a lot smarter and that evaluates the appropriateness of a candidate solution that calls for things like changing the pitch of the rotors in a situation where that might harm its occupants.

  109. Airbus Industries flight-control software by spawn/nowait · · Score: 1

    Apart from the NASA systems, and similarly Boeing which use multiply redundant hardware, the other option is to accept the possibility of coding error.

    The flight control systems for Airbus aircraft were written by more than one team of developers and then run on independent hardware and they cross check each other.

    This produced a highly complex and highly functional system - for example the crash at a German airshow where the aircraft ploughed through a forest showed that the flight dynamic stabilisation worked even when flying through a forest, most planes would have tumbled once into the forest.

    So though each piece of software "may" have had flaws the system itself didn't.

  110. What type of Bug are we talking about?.. by Knobby · · Score: 1

    I've seen hundreds of codes, not much more complex than Hello World, that ran great, but did't achieve the correct solution due to a mistake made when formulating the problem.. In other words, the Bug in the V-22 code may simply have been an improperly computed gain setting. Something that the engineers, and not coders, were responsible for..

  111. Re:hello world by blazer1024 · · Score: 1

    It's a bug in the Turbo Pascal runtimes. They would do some timing routing that would end up going much faster than they expected on pretty much any 400Mhz+ machine (as the original poster stated), and would it would attempt to divide by zero, thus the program would crash.

  112. Re:hello world by blazer1024 · · Score: 1

    I think I had that exact same problem once.. I messed with that for hours trying to fix it. Finally I decided to quit and go back to using C. Though, I've seen plenty of buggy C runtimes as well.. Sigh.

  113. crack! goes the whip by anonymous+cowerd · · Score: 2

    Well SCREW YOU! We are not slaves to be worked to death...

    Why heck no! Don't be absurd, sir! You're not slaves! As all students of economics know, slaves receive no recompense whatsoever beyond the minimum barely required to sustain organic life. You programmers, on the other hand, get paid so well you can almost afford to live in San Francisco! In fact, if you're really lucky in your choice of employers, in return for all that exorbitant, nerves-destroying overtime, you get richly rewarded in (drum roll) stock options!

    ha ha ha ha ha ha ha WD "f*ck computers" K - WKiernan@concentric.net

  114. Hello World not bug free on winders. by bob4u2c · · Score: 1

    I have had a "Hello World" generate a GPF on a winders box so I'm not sure every "Hello Wold" program is safe. I doubt it was the cout "Hello World" endl; that did it but all the other error checking put in the code by your friendly neighborhood winders compiler. But to winders credit after a reboot it did work.

  115. I'm confused by Glint · · Score: 1

    Shouldn't it read "Osprey Crash Linked to Software Problem?"
    I can picture it now, an Osprey smacks into the side of a server. "Shit, need to grab the patch for that," goes the admin...

  116. Re:Can you believe this guy? by aidoneus · · Score: 1

    Sorry about the misunderstanding. When I was working for the US Army Corps of Engineers, a showstopper was a flaw in a project of significant enough size that we would free the work where it stood, evaluate what was wrong and propose solutions. That's how I read "showstopper". A single glitch isn't enough for me to abandon a project, but if that glitch poses a serious risk to life then I'd put things on hold for a serious shakedown.

    Anyway, you have a very valid point, and I think some further clarification by the congresscritter would have helped.

  117. Can you believe this guy? by aidoneus · · Score: 2

    "This report does show that this mishap is not the result of a technology problem," said Representative Curt Weldon, Republican of Pennsylvania. His district includes an Osprey plant. "It is an important issue that must be addressed," Mr. Weldon said, "but it should not be a showstopper."

    and then later...

    The ruptured line caused warning lights to go off in the cockpit, including one on a computer reset button. The pilot, Lt. Col. Keith Sweaney, pushed that button, a standard procedure that should have resulted in no perceptible change in the aircraft.

    But instead of resetting the controls, the software changed the pitch of the Osprey's rotors, causing the aircraft to accelerate unevenly.

    So let's see... it's not a showstopper. A reset button that instead changed the pitch of the rotors and caused uneven acceleration (which the pilot could not have anticipated). That sounds like a showstopper to me. An we trust people like Rep. Weldon to run the country? Well, as long as he keeps the factory in his district open, I guess that's all that counts, right?

    Sigh.
    1. Re:Can you believe this guy? by david+duncan+scott · · Score: 1
      The part I like is:
      standard procedure that should have resulted in no perceptible change in the aircraft.
      So, let me get this straight -- we're headed for the deck, and you want me to do something that should have no effect? Isn't there a procedure that's supposed to do something at times like that?
      --

      This next song is very sad. Please clap along. -- Robin Zander

  118. Re:Why "Hello World"? by JWW · · Score: 2

    It only needs to return a status code when you make main an int. So step 5 is not a bug until you do step 1.

  119. BUG free 600 kLOC by angel'o'sphere · · Score: 1

    I personaly wrote BUG free 600k LOC. (in one application)

    And several 100 kLOC programs which are bug free.

    Howver during Y2K reengineering I analyzed 500 k LOC COBOL code and found about 5 bugs.

    I know personal several people involved in severl million LOC programs which are considered bug free.

    AFAIK the software of teh space shuttles is considered bug free. (and had only foud 4 or 5 bugs after shipping it)

    Regards,
    angel'o'sphere

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  120. Why "Hello World"? by dybdahl · · Score: 1


    void main () {
    printf ("Hello World\r");
    }

    1. Re:Why "Hello World"? by cjcollier · · Score: 1

      you're a sick, twisted individual. void main() indeed.

      --
      moo.
    2. Re:Why "Hello World"? by Reality+Master+101 · · Score: 1

      ANSI C requires an int on main. A lot of people use void, but it is illegal. In fact, I recall a poster on comp.lang.c saying that he had a compiler that actually core dumped when you used void.


      --

      --
      Sometimes it's best to just let stupid people be stupid.
    3. Re:Why "Hello World"? by Reality+Master+101 · · Score: 1

      Actually, I was wrong about "main(void)" (Bug #3). The ANSI C Standard allows that declaration.


      --

      --
      Sometimes it's best to just let stupid people be stupid.
    4. Re:Why "Hello World"? by Reality+Master+101 · · Score: 1

      I don't know why I checked the anonymous button on that!


      --

      --
      Sometimes it's best to just let stupid people be stupid.
    5. Re:Why "Hello World"? by Reality+Master+101 · · Score: 2

      Very good! That has a very high density of bugs, I would say. I count at least 5 bugs in that code (4 if it's pre-ANSI C):

      1. "void" rather than "int" on main.
      2. Need to include "stdio.h".
      3. Invalid declaration of main (which is not illegal in pre-ANSI C)
      4. Use of "\r" rather than "\n".
      5. Need to return a status code.

      Any bugs that I missed? Any way to get an even higher bug density (while still displaying "Hello World")?

      I guess you could do 'puts("Hello World\r")', which not only has the "\r" rather than "\n", but is also redundant! That counts as another bug in my book.


      --

      --
      Sometimes it's best to just let stupid people be stupid.
    6. Re:Why "Hello World"? by atrowe · · Score: 3
      Look, is it really THAT hard to document your code? Sure, it takes a little while longer when you're writing it, but it can save those of us who are SUPPORTING your code months when it comes time to sift through it all and try and find out what you were trying to do. I mean, did you just assume that I would know what you were trying to do with "printf ("Hello World\r");" , and decided to leave out the documentation.

      Jeez, some people!

      --

      -atrowe: Card-carrying Mensa member. I have no toleranse for stupidity.

  121. Re:Yes! by dybdahl · · Score: 1

    Nice example, but you haven't made a proof that such a program can be made, bugfree!

  122. Re:In other news... by Eil · · Score: 2


    Riiiight, you deliver me a development CV-22 aircraft and I'll get right to debugging that as soon as I download the source code from Boeing's website.

  123. Fear "If it's good enough" by Rares+Marian · · Score: 1

    &ltrant&gt The same people who argue that hardware is cheap enough to afford sloppy code are the same ones who later say "fear technology",&lt/rant&gt

    Folks this is what you get when you hire idiots who say, "but I just wanna make some money. I got um cert-t-tificate."

    If employees have no interest in the product give them a job suited to the amount of effort they put in on a regular basis.

    --
    The message on the other side of this sig is false.
  124. Re:BAE Systems.. by Rares+Marian · · Score: 1

    Somebody set up us the Bong... er Boeing... er

    --
    The message on the other side of this sig is false.
  125. EMBEDDED WINDOWS KILLS PILOT & CREW ... by JoeGee · · Score: 1

    Or is this the Evil Mach Kernel proving itself?

    Ya know, the last thing I want to do is climb into a device that moves me places at 300 + Mph, with the software that controls it still in beta.

    No no no. Lemme guess, the control software was written in Qbasic? Visual Pascal? Logo?

    --

    Get off my virtual lawn, you damned virtual kids!
    1. Re:EMBEDDED WINDOWS KILLS PILOT & CREW ... by JoeGee · · Score: 1

      Some parts were apprently more beta than others ... :)

      --

      Get off my virtual lawn, you damned virtual kids!
  126. Not a bug, it's a "feature". :) by JoeGee · · Score: 1

    They load the vehicle up. They take it over enemy territory.

    The control computers determine the appropriate target and desync the rotors. Twenty tons of flaming steel fall onto enemy heads.

    We MEANT to do that. Yah we did. :)

    --

    Get off my virtual lawn, you damned virtual kids!
  127. NASA Software by aspillai · · Score: 2

    http://www.fastcompany.com/online/06/writestuff.ht ml

    That has a good article on how the programmers at NASA write their software. They're on budget and on time.

    1. Re:NASA Software by cyber-vandal · · Score: 2

      Fantastic. It sounds just like the company where I started in IT. Solid standards, time taken to actually design what the users actually wanted, sane deadlines, some of the most talented people I've ever worked with and quite an anal approach to bug squashing. Sadly they've been bought out now and it looks like the parent company is going to make them redundant.

  128. Arian 5 by given_to_fly · · Score: 1

    This reminds me of when the ESA first launched Arian 5. They apparently reused the software from the Arian 4 rockets.
    There was a fuel shut off problem i think and it went of course and they were forced to detonate. Cost them a lot of money..
    but then again no one was killed by it, thought the reckage was spread out over a bunch of villages i heard

    --
    "I'm like an opening band for the sun" -Pearl Jam ; Yield ; Push Me , Pull Me
    1. Re:Arian 5 by shibboleth · · Score: 1

      An analysis of that disaster is here.

      --
      "Be thankful you are not my student. You would not get a high grade for such a design :-)" - Minix pro
    2. Re:Arian 5 by dario_moreno · · Score: 1

      of what I heard ( I used to live in Toulouse...) the problem was that the code had range-checking imbedded, and the Ariane 5 generating values far exceeding the specs of ariane 4, the software detected a major malfunction. Had they coded in FORTRAN, reusability would have been greater...

      --
      Google passes Turing test : see my journal
  129. Re:hello world by BobGregg · · Score: 1

    > It's a bug in the Turbo Pascal runtimes.

    I certainly believe that. I ran into some truly bizarre problems with Turbo Pascal. At one point, I was writing a simple game, and the program kept hard-crashing the computer. Eventually after several reboots, I managed to use the debugger to isolate the statement in the game loop which was crashing. The offending statement was this:

    x := x + 1;

    After a seemingly random number of iterations, somewhere between 100-150, the debugger showed this statement as being executed when the PC would crash. Never did get around it. Guess it just goes to show that when it comes to totally bug-free code, you can't trust anything.

  130. How? by ari_j · · Score: 1

    How do you make a bug-free Hello World program? I'm a senior in Computer Science and have yet to hear any credible evidence of such a program existing.

    1. Re:How? by Drone-X · · Score: 1
      How do you make a bug-free Hello World program? I'm a senior in Computer Science and have yet to hear any credible evidence of such a program existing.
      I'm sorry but I don't understand the logic behind that argument? How could it be proven to be bug-free? The answer is that it can't be, you can only prove that it does contain bugs.

      I really don't understand all the people here saying that even a hello world program can't be bug-free. Is there any reasoning behind it? I mean, if you write an assembler program for one specific computer and run it only on that computer, assuming that the hardware is working 100% OK (we're talking software here after all) then why wouldn't it be possible to have a bug free hello world program?

  131. Bug Free by KilobyteKnight · · Score: 3

    Has anybody ever seen a bug-free piece of software of any complexity greater than "Hello World"?"

    I once wrote a "Hello Universe" that I was fairly confident was relatively bug free.

    --
    When will Windows be ready for the desktop?
    1. Re:Bug Free by DrCode · · Score: 1
      When I interviewed at Microsoft about 12 years ago, the manager said that MS products were bug-free because the programmers were required to put self-tests into the code.

      But I must admit, I never got to actually see the bug-free software.

  132. Re:another part of Boeing vs. Airbus by sheckard · · Score: 1

    The Airbus computer can be overridden, but you're right in the fact that their philosophy is that the computer is always right.

  133. Re:Software often gets in the way of piloting anyw by sheckard · · Score: 2

    This gets into the whole Boeing vs. Airbus commercial airplane debate. Boeing has had a history of listening to what pilots want in an airplane, and they all want force-feedback on the controls. Therefore, the 777, currently Boeing's only fly-by-wire aircraft, has force-feedback controls. From a "touch and feel" point of view, you will get the same response from the controls of a 777 as you would from any other mechanical/hydraulic flight control system.

    Airbus, on the other hand, decided to skip the force-feedback and use a sidestick as their control. Therefore, the pilot cannot feel what the airplane is doing by just resting his hand on the controls. Later models of their fly-by-wire jets have force-feedback as I understand.

  134. RTOS has to reboot? by jacobcaz · · Score: 1
    Would the reboot command be:
    • "CTRL" + "ALT" + "Crash into the Ocean"
    Seriously, I thought that plans would use a real-time OS and wouldn't *need* to be rebooted!

    -----
    1. Re:RTOS has to reboot? by Bluesee · · Score: 1

      Correct me if I'm wrong, but I'm pretty sure that most modern fighters are built aerodynamically marginally- (or downright Un-) stable and that it is Only computers that keep them in the air. I am sure I read that about the Grumman X-29, a forward-swept wing configuration. From the quoted text: The particular forward swept wing, close-coupled canard design used on the X-29 was unstable. The X-29's flight control system compensated for this instability by sensing flight conditions such as attitude and speed, and through computer processing, continually adjusted the control surfaces with up to 40 commands each second.

      So it's not just the Osprey... but you're right, that sort of versatility is really asking for trouble, and I bet there are all sorts of marginally stable yet allowable transition states.

      --
      SDMI: Finally! Music that won't rip or burn! Brought to you by the fine folks at RIAA.
    2. Re:RTOS has to reboot? by duffbeer703 · · Score: 1

      The Ospery is a fly-by-wire aircraft.

      The pilot does not have direct control of the control surfaces. His movement on the controls generates an electronic response, which filters the input and does what it's told.

      Perhaps the controls were not responding, and the pilot was frantically resetting the computer in an attempt to regain some sort of control.

      I have no idea why the reset button is there, and see no point to further speculation regarding it.

      Your last statement implies that the entire flight control system of the Ospery is defective. This is highly unlikely. More likely is that there is some bug in the reset and/or error detection routines. An aircraft which is designed to perform in combat should be somewhat survivable in the event of hydraulic failure.

      --
      Conformity is the jailer of freedom and enemy of growth. -JFK
    3. Re:RTOS has to reboot? by duffbeer703 · · Score: 2

      I suggest you take your know-it-all attitude and use it to do something other than sully a dead man's honor.

      The Ospery is a plane which requires computer control. No human being is able to compensate or be aware of all of the servos and control surfaces on that aircraft.

      You are happy to sit back and say "You try to write a program so it boots up and takes control of an on-going process without glitches", defending the team that designed the software. Yet you question the pilot's intelligence for following his procedures during a few split-second moments of time.

      It's a shame that young Marines and aircrew need to die because overpaid 'engineers' who fuck up the design of systems sit back and collect their consulting fees. If a civil engineer designed a bridge which collapsed under the weight of passenger traffic, he would lose his license and possibly face criminal charges. Software 'engineers' get to continue the project and collect more fees.

      --
      Conformity is the jailer of freedom and enemy of growth. -JFK
    4. Re:RTOS has to reboot? by agentZ · · Score: 2
      6. The pilot panicked a little. Understandable, but pilots and Marines are supposed to be panic-proof.

      No human being is panic-proof when falling from the sky. You can train 'em all you want, and they will do as their told, but they still get scared.

    5. Re:RTOS has to reboot? by agentZ · · Score: 2

      Er, no. Most planes today are still good airframes that can fly/glide by themselves with no computer assistance. The X-29 was unique in its requirement of constant computer assistance. Helicopters are different in that when the engines turn off, you don't exactly glide per se...

    6. Re:RTOS has to reboot? by markmoss · · Score: 1

      By the accounts I've seen, there was a light which lit up saying "reset". So the pilot hit the reset button. And that caused erratic prop and engine operation. (You try to write a program so it boots up and takes control of an on-going process without glitches.) And since even a recruit headed for cook school should be able to figure out that when doing that made things worse, you stop doing that, if the reports were accurate, the pilot had to be panicky.

      Of course, 75% of what you see in the news is wrong, so maybe the pilot was indeed trying to use the reset button to keep the computer off-line. In that case, double-shame on the system designers for not providing a manual override on each control!

    7. Re:RTOS has to reboot? by markmoss · · Score: 2

      I suspect the reset button did exactly what it was supposed to. It reset the computer. This is NOT going to fix a bad hydraulics line. In fact, it makes the computer forget what was just going on, so it's probably going to make a bad decision as soon as it starts taking control. It is not impossible to store enough status information so the computer could have picked up just where it left off before -- but that isn't such a great idea when the pilot punches the button because the computer was screwing up.

    8. Re:RTOS has to reboot? by markmoss · · Score: 4

      Actually, a decent embedded system (RTOS or not) will re-boot itself when it needs to. That is, you got a "watchdog timer" which the main program loop keeps resetting; if it doesn't get reset, it resets the computer. But apparently they gave the pilot a pushbutton just in case the watchdog timer crapped out too. But he pushed it when the real trouble was a chafed-through hydraulic line. And when it didn't help, he pushed it nine more times...

      As I see it (and I'm not claiming expertise), the problems were, in descending order of importance:
      1. The designers failed to route and fasten hydraulic lines so they wouldn't chafe.
      2. The Marine Corps and aircraft mfg both ignored warnings about chafing lines.
      3. The system for some reason told the pilot he needed to reset the computers although the computer had nothing to do with the hydraulics failure.
      4. The software changed propellor settings erratically while booting up.
      5. They didn't give the pilot an effective manual override for any controls the computer might be messing up.
      6. The pilot panicked a little. Understandable, but pilots and Marines are supposed to be panic-proof...

    9. Re:RTOS has to reboot? by blair1q · · Score: 2

      There are a few flaws with your list, but they're moot because the answer is:

      0. Nobody tested the reset button.

      There's no reason not to test this feature. The button was there for one reason--safety in a critical situation--and there were no doubt several pages of requirements written for the system's behavior when it was pressed. If the article is wrong and they did test it, and if it exhibited deviations from the required behavior, the planes would have been grounded until the problem was fixed and retested. Someone either lied about the completeness of the testing, or signed off on the risk.

      Systems I&T on the Osprey program just killed a whole bunch of people. The rest of the problems you list merely conflated this one long enough for it to become deadly.

      --Blair

    10. Re:RTOS has to reboot? by GearheadX · · Score: 1
      Ultimately, I think the biggest flaw in the Osprey design is that the dratted thing requires a computer to even remotely consider staying aloft.

      It doesn't matter how much override ability you give the pilot, during that delicate transition between VTOL and flight modes.. the Ospery is as vulnerable as an infant. Don't buy the hype, that plane is dangerous.


      Berk Watkins
  135. Re:Greetings from Kyoto by TM22721 · · Score: 1

    A two processor approach is unacceptable for mission critical applications where both safety and uptime are important. If the two processors disagree, what do you do ? That's why systems with three processors and majority voting have evolved. But even then, why make the processors redundant when the sensors and actuators fail much more often ? Garbage in, garbage out !!

  136. Re:I think it's expensive, not too expensive. by Paradise_Pete · · Score: 1
    Emulated wang? Around here they just call it a dildo.

  137. Re:Nuclear Powerplants, ICBM systems by Paradise_Pete · · Score: 1
    Elegant and simple.

    Except for the elegant part.

  138. Re:Yes! by Paradise_Pete · · Score: 1
    I said don't call me bugfree.

  139. No such thing as Good Software by _Mustang · · Score: 1

    Your example of the shuttle and NASA certainly has merit. I recall an excellent article geared towards the DEV/QA crowd that detailed the processes and methodologies they use. For example, every single class or function is 100% documented in detail, including _all_ variables and any dependecies. This goes into a DB they maintain specifically for this. If a change is made then they have no further to look than the DB to be able to compare where and what. However I would say that even that level of attention to detail does not deliver what is being asked. The truth about the quality process is that there IS NO SUCH THING AS DEFECT FREE. It isn't possible without restricting the size of the application. The trick is to correctly identify the critical defects, and to follow the 80/20 rule. Once those defects are resolved, take what's left and do it again...

  140. Re:"one reason to fear too much technology" by Infonaut · · Score: 2
    OK, we could argue the specifics, and you're right, the M1 does have a HUGE logistical tail (though less of a tail than the M60, but I digress). In fact, I was a light infantry guy, so I'm not gonna argue that the M1 is the be-all-end-all weapon. However, it beats the crap out of lower-tech weapons like the T-80, which was my point.

    You're also right about the air war of course, which again furthers my point. It lasted for weeks, but because of superior technology, we were able to beat down the Iraqis at minimal cost in lives.

    I do remember the Valkyrie. I do remember the SGT York. But I'm also familiar with the Blackhawk, the F-16, and a few other extremely complex pieces of technology that work rather well. My whole point was that we shouldn't throw the baby out with the bathwater.

    I also know that flashy technology doesn't always win the day. Remember the GAO study about all those Scuds the Air Force "wiped out"? Turns out the only Scuds that were ever provably killed were taken out by Special Ops units on the ground. The Pave Low and other very sophisticated equipment certainly helped them get there, though. ;-)

    --
    Read the EFF's Fair Use FAQ
  141. "one reason to fear too much technology" by Infonaut · · Score: 3
    hmm...

    maybe that sentence would be better as "one reason to fear poorly implemented technology".

    Let's not forget that the technology in the V22 is akin to the technology that allowed us to wipe out most of the Iraqi army in 100 hours with an incredibly small number of Coalition casualties.

    This reminds me of the negative press coverage the M1 tank received during trials because it used a turbine engine similar to those used in helicopters. The engine had problems during trials and was roundly criticized for being costly and "gold plated".

    That same turbine engine, after the glitches were fixed, turned out to be more reliable than the old engines it replaced. The M1 went on to become the most feared and capable main battle tank on the planet, easily taking out T-72 and T-80 tanks before they could even DETECT the M1.

    Technology in military systems is always risky in one way or another, but the ultimate payoff is usually more than worth that initial risk.

    The V22 has been plagued with problems from the beginning, and they may be pushing the envelope a bit too far with an overall concept that is just not workable. But if they do work out the glitches, the V22 will go from becoming an example of "too much" technology to an example of "amazing" technology.

    --
    Read the EFF's Fair Use FAQ
  142. What is a bug? by drnomad · · Score: 1

    Is a bug a crash, or is a bug some sort of undesired action? I suppose a bug is an undesired action... So if this program prints "Hello world!" on my screen, while it is supposed to simulate a rocket engine, then we would be talking about a major bug!

  143. Re:Crash by cperciva · · Score: 2

    Planes don't "crash" anymore. Now they "blue screen."

    Only if they're landing in the water. On land it might be a black, grey, yellow, green, or white screen.

  144. another part of Boeing vs. Airbus by mr_death · · Score: 1
    Airbus takes the position that the flight computer cannot be overridden, ever, while Boeing's FBW (Fly By Wire) system may complain when it thinks you're about to do something wrong, but will let you do it.

    As a pilot and software engineer, I find that the Airbus philosophy -- that the computer can never, ever, screw up -- fundamentally flawed. There's no frigging way that a bunch of French (or any other nationality) coders correctly coded the system to handle every flight regime. You bet your life that they correctly coded the FBW system every time you board an Airbus.

    Do you feel lucky? Well, do you, punk?

    --
    It's Linux, damnit! Pay no attention to renaming attempts by self-aggrandizing blowhards.
    1. Re:another part of Boeing vs. Airbus by bad-badtz-maru · · Score: 1


      http://www.airsafetyonline.com/videos/airfrancea32 0.rm

      This infamous footage shows an Air France Airbus A320 -- the world's first commercial fly-by-wire aircraft -- completing (trying to) a fly-by at a French air show, failing to climb, and crashing into trees. The pilot, Air France's star A320 captain, claimed the flight computer tried to land when he wanted to take off. The French government (which owns almost half of Airbus) concluded it was the pilot's fault and jailed him on 3 counts of manslaughter. Video includes exclusive crash site footage. 1 minute and 12 seconds.

      maru

  145. Help w/ hello world by TangoCharlie · · Score: 1

    Yeah, that would be:

    #include <sdtio.h>
    void main(} {
    printf("Hello, wrold\n)
    return 0;
    )

    then?
    Seriously though, as I understand it, software errors have been the cause of a number of aeroplane crashes and near-crashes. Wasn't the Paris airbus crash software related? In fact I just did a quick Yahoo search and came up with Airbus 320 crash at the Paris Airshow, 1988.

    --
    return 0; }
  146. Seems familiar by josecuervo · · Score: 1

    I'm sorry Dave I'm afraid I can't do that. (Osprey pitches forward)

  147. Yeah I have! by DeeezNutz · · Score: 1
    "Has anybody ever seen a bug-free piece of software of any complexity greater than 'Hello World'?"

    How about: 'Hello World, How are you doing?'

  148. Design vs. coding by andy@petdance.com · · Score: 1
    In other engineering disciplines (ie civil, mechanical, etc), there are people to blame if a bridge collapses or a building falls over.

    In the "software engineering" realm (and I use that term loosely), who gets blamed? Are individual coders going to start taking the fall for software that blows up (literally)? Where might this lead?

    I heard about this on the news this morning, and my first thought was "Was this a design or coding error?" Was the software specified incorrectly, or did the programmer implement it incorrectly (i.e. the canonical "it blew up because of an extra comma" error)

    In other engineering disciplines, it's usually the case that the designer and the builders are distinctly different people, and it's easier to say whether the problem was a design issue ("They didn't plan to have enough rivets holding the bridge together") or a building issue ("They didn't put in all the rivets that were supposed to be there")
    --

    1. Re:Design vs. coding by andy@petdance.com · · Score: 1
      That was the Hyatt Regency.

      The Rainmakers refer to this, and other modern technological disasters, in "Rockin' At The T-Dance" off their first album.

      Take a trip with me in 1967
      With Grissom, White, and Chaffe on a rocket ride to heaven
      A dead-end date aboard AS-204
      It was American made, only the best for our boys.
      And we were rockin' at the T-dance

      I had another date with a homecoming queen
      I took her to the prom in Apollo 13
      We orbit the moon, we couldn't get home,
      Little Queenie's mom was pissed 'cause her baby didn't phone.
      And we were rockin' at the T-dance

      Take a trip with me to Kansas City, MO
      To the Hyatt House, to the big dance floor,
      You can still see the ghosts but you can't see the sense,
      Why they let the monkey go and blamed the monkey wrench.
      And we were rockin' at the T-dance

      The song title of "T-dance" plays off of the tea dance that was being held at the time of the collapse.

      The whole album is lyrically brilliant, and would do well in the collection of anyone into the Springsteen/Mellencamp/heartlandish sorta rock'n'roll thing.
      --

    2. Re:Design vs. coding by markmoss · · Score: 1

      In other engineering disciplines, it's usually the case that the designer and the builders are distinctly different people, and it's easier to say whether the problem was a design issue. I remember one case where a bridge falling down was the fault of both -- the designer designed something that couldn't be built exactly that way, and the builders made changes without consulting the designer or getting new strength calculations. (This was a multi-story foot bridge inside a fancy hotel; if I remember right, it was in the early 80's.)

    3. Re:Design vs. coding by markmoss · · Score: 2

      IIRC, the original design required the builder to thread hundreds of rods through the whole multi-storied catwalk, from bottom to top. I'm not an expert on these things, but it would be difficult to put together a scale model on a tabletop, and to build it while hanging in midair? So I'm not surprised the builder changed to short rods -- but it meant that instead of the load being carried through the intermediate box beams by the long rods, it transferred from top rods to bottom rods through the box beam. Furthermore, the box beams were formed by welding two U-channels together -- so the rods were secured by nuts bearing on the welds. The structure had only a fraction of the design strength, unfortunately it was enough to hold until a crowd went out on the catwalk...

      As I said, I'm not a structural engineer, but it sounds like the engineer on that design had no experience with actual building operations. And the builder should have gone back to the engineer with the proposed changes to re-evaluate the strength... I am an EE at an electronics manufacturing plant. A large part of my work is dealing with board designs that are unbuildable and untestable. Obviously the engineering schools still don't teach the practical aspects of making boards. We get the bad designs changed, but we get them changed by going back to the designer, not by unilaterally changing them -- whether or not the board is going into a safety-critical application...

  149. Good Software Exists by cluge · · Score: 4
    Good software exists, really it does. Case and point is the software that is used by the Space Shuttle. One of the only pieces of software that manages to meet the criteria put forth for "a proper program" by the association of computer scientist. To my knowledge, besides the afore mentioned "hello world" program there are no other pieces of software that meet all these criteria.

    The important question to ask is "Why doesn't good software exist?". The reason is that the consumer wants it yesterday, they will pay for an unfinished and incomplete project (nee almost all windows software). This leads to cut & paste programing, re-use of lots of pre-done code supplied by various manufacturers and the like. If the customer demanded well sorted out code, and refused to "upgrade" to the next best thing then you will see better coding.

    Last and not least lets not forget the customer, the US govt. The Osprey has always been considered a boondogle from the get go. The pressure from congress and media to get the progect completed has been extremely intense. I'm sure a lot of pressure was put on the coding team to "get it done now". It's too bad that they didn't learn from the Space Shuttle, over budget, and over designed, it works. It has passed all expectations and is doing things now that it was never designed to do.

    There is an engineering credo there, the famous "factor of saftey". A number usually applied to equations to take into affect the "unknown". Looks like the Osprey designers didn't make their "factor of saftey" high enough.

    --
    "Science is about ego as much as it is about discovery and truth " - I said it, so sue me.
    1. Re:Good Software Exists by flossie · · Score: 1
      That was Lockheed Martin. NASA use a consistent set of units appropriate for scientific work. LM use that rubbish that the British dumped on them and then abandoned.

      In all honesty, if you can get the Brits to use a French system, there must be a pretty good reason for it!


      -- flossie
      http telnet

    2. Re:Good Software Exists by RESPAWN · · Score: 1

      [tangent]Back in 1990 or so, my mother had her own programming and consulting business that she ran out of the house. Anyway, during this time she was hired by my dad's company to write a piece of software for them. I don't remember what it does, but it was fairly complex. (She also wrote it in Foxpro. Yech!) Anyway, a couple of months somebody asked my dad if my mom would be able to add a feature to this software that she had written for them. They've been using this software for something like 11 years, with no problems. That's more than can be said for a lot of software these days.[/tangent]

      (However, a question could be asked why they are still using such old software, but I guess "if it's not broken, then don't fix it.")


      --------------------------------------
      --

      If Murphy's Law can go wrong, it will.

    3. Re:Good Software Exists by MadSwede · · Score: 2

      Ok, I know this might not go over well with the slashdot crowd, but might not the "subscription" model for software help in making "good software"? The reasoning being that say someone writes a wordprocessor app, and let's people subscribe to use it. Assuming it's a good program, that ppl want to use, wouldn't the revenue of subscriptions obviate the need for new releases, with fancier paper-clips, etc, instead letting some of the profits funnel back into improving the existing code? Okay, okay, I'm an optimist, I know.. but it's it at least a possible scenario?

    4. Re:Good Software Exists by cnkeller · · Score: 3
      The Space Shuttle Code, along with other mission-critical (read human life) systems are the direct result of software developed through the Capability Maturity Model (CMM). Orginally pioneered by Watts Humphrey (now based out of the Software Engineering Institute @ CMU), it is the de facto (as far as I know) paradigm for devloping mission critical software. I had to deal with this quite a bit as a goverment contractor. Very interesting reading if you are so inclinied.

      CMM

      --

      there are no stupid questions, but there are a lot of inquisitive idiots

    5. Re:Good Software Exists by java_sucks · · Score: 1

      Yes in the perfect world you are correct. However the problem has always been that the company who has the software is looking over their shoulder at all these other word processor apps and they feel that in order to keep or grow their subscriber base they will need to add new features (regardless if they are needed or wanted) to stay ahead of their competitors. So you fall into the same trap where marketing and slick new interfaces and being the first to market continue to be more important than stability or correctness.

      Lets face it, the majority of computer users seem to accept that 80% is good enough, they think that's just the way computers work. Have you ever overheard someone on a bus say "OH.. teehee.. then I crashed my computer.. teehee" I hear it a lot in general conversation. And once you learn to save your data a little more often and not do the things that make your computer crash, the software seems to get better and you don't think twice about it. Sad but true... my sister just takes for granted that she will have to reboot a few times a day.. that's just the way it is.

    6. Re:Good Software Exists by KevinMS · · Score: 2

      AFAIK there is a methodology in software programming that builds space shuttle quality software, and it actually speeds up the process because a lot of time isnt wasted in digging up all the bugs. Its not about object orientation, or even about extreme programming, dude, but actually an evolution of structured-programming (huh?) with a little formal method thrown in, Cleanroom
      http://shop.barnesandnoble.com/textbooks/booksea rc h/isbninquiry.asp?userid=0NDTAXIZHS&mscssid=GE64HB NXPE9D8K2P9V4J83X49281124E&isbn=0201854805

      --
      Sneakemail is to spam filters what an ounce of prevention is to a pound of cure.
    7. Re:Good Software Exists by KevinMS · · Score: 2
      --
      Sneakemail is to spam filters what an ounce of prevention is to a pound of cure.
    8. Re:Good Software Exists by small_box_of_stuff · · Score: 1

      Do you have 35 million dollars and 200 people to work on the single product that your company has been working on for the last 20 years? Do you have a customer that knows exactly what it wants, in extereme detail? Do you have the problem domain so absolutely understood that you can describe exactly what you want before you even begin to write the program? Does the rest of your company understand that the software is not an addon to the system but a very fundamental and important piece, a piece that rightfully occupies a place of importance equal to the rest of the system. Does your schedule get driven by quality, not contracted deadlines?

      What, you dont have that much money? Nor that many people? You mean you have several products? And some are new things that neither you nor anyone else has ever done? You are asked to solve non-trivial unique problems that need interesting solutions developed by you, not a team of experts with PhD's. You mean that you havent been doing the same thing with the same people for 20 years? Your customers dont know what they want? Your customers and management dont let your experience with the problem domain drive schedules, but instead, insist that things be done when they say, not you? Your software is not considered the most important part of the system?

      Well, I'm sorry for you. It must suck living in the real world.

  150. Automation in piloting by Galvatron · · Score: 2
    Okay, this is a little offtopic, but I thought it was pretty funny:

    As many of you may remember, back in the old days commercial jetliners had three crewmembers. Pilot, copilot and radio, iirc. But, due to increasing automation and computer control, they were able to reduce it to two people. Now, things are becoming so automatic that Boeing is planning on reducing the crew requirement on their generation of planes to just a pilot and a dog.

    Why a dog?

    To bite the pilot's hand if he tries to touch anything.

    Whoo, I crack myself up.

    The only "intuitive" interface is the nipple. After that, it's all learned.

    --
    "The question of whether a computer can think is no more interesting than that of whether a submarine can swim" -EWD
  151. Re:Now who to blame... by cjcollier · · Score: 1

    and modest too, I see..

    --
    moo.
  152. Re:bug exposed by mechanical failure... by nehril · · Score: 1
    as i read it, the hydraulic system degraded, and the pilot hit reset 8-10 times as the plane went down (per the book).

    jeez, what were they running? WinCE?

  153. This slashdot story is an example by Aelfweld · · Score: 1

    Software through process is the secret.

    http://slashdot.org/articles/00/05/19/050258.shtml

    --
    Government is the abdication of your responsibility to a faceless bureaucracy. Anarchy(absence of government)is the a
  154. Re:Previous versions by Animats · · Score: 2
    That A320 crash was not a software failure. The problem was more subtle than that. The flight control software made the aircraft handle so well in near-stall situations that it produced pilot overconfidence. See this note.

    Other A320 problems have generally involved having flight deck systems in the wrong mode. This is a recurring problem with complex aircraft.

    The Osprey problem, though, may be an out and out bug. That's different.

  155. yes by altstadt · · Score: 1

    > Has anybody ever seen a bug-free piece of software of any complexity greater than "Hello World"?"

    The answer is "yes" for any piece of code that I have written top to bottom that I have also had the chance to look at twice. It really isn't that difficult if you have been fixing other people's code and writing your own code for almost 20 years. More people would become competent programmers if they didn't become incompetent managers after five years instead.

    I tend to write my code in several phases:

    1. prototypes and stubs with comments
    2. hardware specific features
    3. software fault instrumentation (similar to printfs in code paths that "should not happen")
    4. full internal code documentation
    5. external documentation and specification

    Yes, this is generally considered almost completely backwards, but I find it much easier to hold a large design in my head than it is to put it down on paper until after it has been realized. It probably explains why I don't have a crowd of programmers working for me instead of around me. But the programmers around me still ask me questions on how to do things all day long, so I must be doing something right (even though I no longer get anything done during regular work hours because of the continual interruptions).

    I would also be putting the external documentation higher on the list if I wasn't currently being forced into using MS Word. Switching back and forth between a Windows box and a Sparc is not conducive to good work on both. The work on one or the other will suffer.

  156. Re:Proofs by e-Motion · · Score: 1

    If he had actually had a proof, there couldn't have been any bugs in the program relative to the specifications

    "Relative to the specifications" doesn't mean too much in the end, because it assumes that the specifications are the end-all be-all to what goes in the software, and are by definition correct. Of course, we are human, and this is hardly the case. There are sometimes "gotchas" or special cases that come up that aren't in the specs. Someone thought they were being absolutely clear when they weren't, etc. Is that a valid bug when it surfaces in the code? Absolutely.

    Then the responsibility is put on the specs, so one may say "well, make sure the specs are right." That's not as easy as it seems, since the English language alone has communication problems. Add on that someone has to read through it all and flush out everything that it says, ensuring that no other person could possibly find something misleading or incorrect in it. This has to be done to a certain extent, but eventually you're going to hit a wall where it doesn't pay to refine the specs any more. Of course, it still won't be perfect, and software that is proven to operate by it still won't necessarily be bug-free.

    Don't get me wrong, proofs are fine as a first step, but people make mistakes. Specs can be misleading, cases can be missed, etc. You need to also test, plain and simple.

    Not making mistakes is what makes software robust.

    It sounds pretty simple doesn't it? Just be perfect, and your software will be robust. That's fine for the gods, now what about us mere mortals?

  157. Re:Proofs by e-Motion · · Score: 1

    you're being stupid. the post that started this said something like "proving doesn't work, you need to test". your point is that proving doesn't work because people make mistakes. well, testers make mistakes too, nitwit, so you have no point.

    I didn't say testing was perfect, that would be silly. But at this point, you're just being rude.

    Let me try to put it in a way that cannot be misconstrued easily. Proving is fine and dandy for those who want to do it. But like anything in software development, it doesn't mean "bug-free", or even excellent code will result. That was my only point that I was trying to make by giving the Naur example. The idea behind the Naur program was very simple, yet it still had errors in it. Personally, I regard proving as less effective (costwise, maybe) than testing. Again, personally, I would appreciate the statement "The software has gone through rigorous testing" more than "The software has been proven to be correct". It's not an either-or situation, I realize, I'm just proving a point. That's my opinion, and everyone has their own, so if you don't like mine, then ignore it. Software methodologies discussions are full of opinions, and mine is just another one of them. Feel free to dismiss it.

  158. Proofs by e-Motion · · Score: 2

    Proving software correct shouldn't hold much weight. Testing is really the only way to go.

    For instance, here is a pdf that mentions Naur "proving" a very simple ALGOL program correct, but obviously not testing the code. The program was only 25 lines long and reformatted text (basically a word wrapper). Later on there were (at least) 5 bugs found in the code.

    Which goes to show that testing is what makes software robust.

  159. bug exposed by mechanical failure... by small_dick · · Score: 2

    as i read it, the hydraulic system degraded, and the pilot hit reset 8-10 times as the plane went down (per the book).

    no offense, but given all the problems with the hydraulics on this beast, and the people ordered by the military to lie and falsify records regarding those problems, i think a s/w glitch is a bit later on the list.

    i do think it's a shame that the software wasn't written well enough, or tested well enough, to save those people from a mechanical failure.

    maybe management is right -- just give it all to microsoft and let the H1-B's deal with it.

    --


    Treatment, not tyranny. End the drug war and free our American POWs.
    See my user info for links.
    1. Re:bug exposed by mechanical failure... by small_dick · · Score: 2

      > jeez, what were they running? WinCE?

      doubt it, i worked on a project awhile ago -- had to interface to a bunch of data from a aircraft -- it was mostly ADA structures. they claimed it was 40 millions lines of code overall.

      Microsoft and NASA are working on a project to autopilot aircraft through takeoff, cruise and landing -- with minimal interaction with the pilot.

      It's called Highway In The Sky

      --


      Treatment, not tyranny. End the drug war and free our American POWs.
      See my user info for links.
  160. Government Software vs. Private by Donut · · Score: 1

    Well, fly-by-wire (completely software controlled) aircraft have been around for about 25 years. Lately, though, the spectactular problems with the software seem to be coming from the government run programs. These problems include: - V-22 crash - F-22 crash - Airbus crashes to numerous to mention Seems that Boeing, though, built the 777, and has had almost no issues... Could it be because they would LOSE THEIR SHIRT in the hyper-competitive PRIVATE market of airliners if they had a single problem? Or maybe that there were no government entities backing them up (Yeah, looking at you, you Airbus people) if they screwed the pooch? Hmmmmm...

    1. Re:Government Software vs. Private by Sanchi · · Score: 1

      How about this, the Military has always pushed these companies for the top of the line tech that there is. There is bound to be some problems.

      Sanchi

      --
      "They said we couldn't do it [Athlon]... but we built it, we shipped it... and we didn't have to recall it." Rich Heye
  161. Greatest Programming Joke ever by Donut · · Score: 5

    A group of technical leaders were at a seminar called "Making Reliable Software". The teacher at the seminar, in order to make the participants appreciate the problems of reliable software, posed this question: "How many of you would be willing to fly in an airplane that was controlled by software that your company created?" The technical leaders thought about it, and looked around at each other. Nobody raised their hands, except for one lone guy in the back. The teacher was suprised. "You, in the back," he asked. "Why are you so sure that it would be safe?" "Simple," replied the programmer. "Knowing how my guys code, the plane wouldn't even be able to pull away from the gate."

  162. TeX? by pointym5 · · Score: 1

    When was the last TeX bug award given out?

  163. Is it possible??? by Enonu · · Score: 2

    Lets say that you have 30 million lines of code? Is it possible to say "this code works 99.999% of the time?" What about 300 million? What about 30 billion? Is there some critical mass for software where it then becomes theoretically too complex? Will there be a similar limit for hardware? Any URLs?

  164. Don't fly airbus dude! by TheLink · · Score: 1

    A pilot I know says the plane to fly is the 777. Easy to fly, no problems, passengers are always happy. Everything dealt with automatically.

    He definitely doesn't like the Airbus.

    The Airbus is too buggy.

    Cheerio,
    Link.

    --
  165. With software you often run the blueprint. by TheLink · · Score: 1

    Thing is they don't do software the same way.

    For civil engineering, I believe you often do the prototype or model first then you build the real thing.

    With software the trouble is your model/prototype/blueprint is often fully functional...

    Basically architects prepare a blueprint of the building they are going to make, down to every single detail if possible, then they pass it to the engineers who pass it to the contractors, and along the way sometimes things are changed/fixed.

    But if you do that with software, the "blueprint" actually "works" :).

    So when you try to do the same thing, the bosses often can't tell the difference between the prototype and the real thing (or don't care), and you are often asked to ship the prototype :). I believe the world is full of such prototypes.

    Are they going to wait a year or so for your contractors to "rebuild" it for real, brick by brick? If you ask for a year more, they tend to ask for more features.

    Of course instead of rebuilding, you could go over your "blueprint" so thoroughly that when it's complete, it's almost perfect. But that still takes time.

    Also adding stuff doesn't necessarily make a program more reliable. Whereas you can over-spec buildings by sticking stronger and more materials on them. Then you can be reasonably sure they won't fall down under design conditions.

    Cheerio,
    Link.

    --
  166. Re:OT: The abuse of the word "Art" by TheLink · · Score: 1

    Yeah, I agree with you.

    People who put shit in jars and call it art are the ones who lack talent, imagination and creativity. Not those who don't think it's art.

    I regularly put shit in a toilet bowl and though the results are unique each time, --insert your favourite blahblahblahblah here--, I don't think it's worth calling art.

    There are still lots of artists in the world, but few are found in those "institutions".

    If I'm trying to create art, I sure hope it's going to be close to the best I can do. But if the best I can do is put shit in jars, well it's a sad day. Doing your best doesn't necessarily make it good enough. Too often modern culture thinks otherwise.

    What those great artists threw away was often better than what some of these "acclaimed" modern artists put out.

    Cheerio,
    Link.

    --
  167. Problem exists betweeen.... by Wintermancer · · Score: 1

    ....keyboard and chair

    In as much as we would like to have "fail safe" applications, nothing is without risk. Randomness is a funny thing. When it occurs, and how it occurs, is non-predictable.

    Assume that the software is 100% certified bug-free. Ok. What about the hardware running the software? Some lowly $0.01 peice of resistor decides to crap out. Software works fine, too bad the hardware needed to run it has gone tits up.

    Entropy. Randomness. Human error (the biggest one).

    All these things help keep our world from being a clockwork universe.

    Isn't it fun?

  168. users by rshadowen · · Score: 1

    It's not possible to have a complex bug free program when users expect software to act unpredictably and just adjust.

    E.g., the pilots all learn that pushing reset makes the rotors tilt.

    Then they don't like it when you fix it!

    So, just what is a bug, anyway???

    --
    "I want my job to be the guy who kicks George Bush in the face all day, only stopping to make out with him."
  169. Oh, please tell us about your super-secret project by flossie · · Score: 1
    Considering that the Flight Control System dictates the in-service performance limits of the aircraft, don't you think that the military might have at least a slight incentive to keep it quiet?

    Next question, what would be the point of open-sourcing it? It's not as if you could just port the code from an old aircraft to a new one. It may surprise you, but the code running on a Tornado is not the same as that on a Harrier or Typhoon. Each aircraft has different requirements (those laws of aerodynamics again!) and the control code has to be tested against those requirements.


    -- flossie
    http telnet

  170. Re:In other news... by flossie · · Score: 1
    Do you honestly believe that even the holier than holy US respects copyright law when it comes to military technology? I think it's a fairly safe assumption that the intellectual property of foreign nations is not a high priority for any country when the defence of the state is at stake.


    -- flossie
    http telnet

  171. Duplex is not enough! by flossie · · Score: 1
    "One would think that software used in war machines would be doubled with two distinct processors"

    In the aerospace industry, even duplex systems are considered too risky. Quadruplex is the norm; with four computers, if one fails the remaining three can still "vote". Safety critical software cannot be trusted to just one computer as there is always the possiblity of failure.

    Many modern [unstable,agile] aircraft are not controllable by a human without assistance from the Flight Control Computer, so a total failure of the Flight Control System is unthinkable. As far as pilot intuition is concerned, this can be worse than useless for an unstable airframe. There is a condition, not limited to unstable aircraft, called Pilot Induced Oscillation, where a pilot's "corrective" actions cause unstable dynamics to occur, sending the plane out of control. Just because a human is involved doesn't necessarily mean that s/he has the best solution to some very complex equations of motion


    -- flossie
    http telnet

  172. Re:The reset button didn't work right?!?! by flossie · · Score: 1
    Powering down may be an acceptable reset mode for your desktop PC. Are you sure you would feel the same about an aircraft in which you were flying?


    -- flossie
    http telnet

  173. Re:Nit Wits by flossie · · Score: 1
    Firstly, aircraft are not built solely by CS majors. It is generally considered desirable that different people can bring a range of experience to a discussion.
    To the issue at hand, although voting is an integral part of safety/mission critical systems, this pales into insignificance compared to the need for well designed and thoroughly tested code. It is not enough to test components in isolation. In any real-world complex engineering system, it is the interactions between components that are of the greatest importance, not just the individual components themselves. The formal proof of the correctness of a few "key components" is not enough. Would you normally consider a hydraulic line to be a key component of a reset routine?


    -- flossie
    http telnet

  174. Re:Greetings from Kyoto by flossie · · Score: 1
    According to Jane's the Osprey had a triplex fly-by-wire system. Although I don't have a detailed knowledge of the Osprey's architecture, I think that it is highly unlikely that all of the processors failed. It is more likely that the system was trying to re-initialise the flying controls without compensating for the hydraulic leak. If the computers knew the current rotor angle, for example, and tried to set an output to maintain that angle upon re-boot, it is quite likely that the generated signal would not be appropriate for the current (failed) hardware architecture - thus placing the flying controls in the wrong position.


    -- flossie
    http telnet

  175. Re:In other news... by flossie · · Score: 1
    The internal release of GPLed code has nothing whatsoever to do with the respect that would be accorded to other nations' intellectual property. I still maintain that the US (and anyone else) does not pay attention to IP law when determining defence strategy.

    Regarding the incomprehensible fragment of code that you are keen to show off, don't bother. Send us the machine code and it can be reverse-engineered well enough.


    -- flossie
    http telnet

  176. Re:Nit Wits by flossie · · Score: 1
    Why, have you added something substantive to the original post?


    -- flossie
    http telnet

  177. Re:Bugless code? by Whomp-Ass · · Score: 1

    Assembler is far to bloated... Much better to use hand tweaked machine code...mmm...pages of hex...

  178. Kill the thing already by sik+puppy · · Score: 1

    This is a military project that should have died years ago. Politicians want this bird more than the pentagon does. It is build in important political districts, not by accident, so that it can't be killed easily by congress.

    The solution is to require every member of congress that supports this fuster-cluck to use one exclusively for all air transport, both for him/her self and their family. How many of those vermin will risk their own families to keep some worthless, unsafe pork barrel project going? And the ones that do will help clean out the gene pool when the next one crashes.

    There are better ways to accomplish the same mission the osprey does. Its time to utilize them instead. To paraphrase another /.ers sig, just because the osprey is a possible solution doesn't mean it must be the one used.

    end of rant/tirade against corrupt pols (oops - redundant phrase)

    --
    The first thing we do, let's kill all the lawyers. Shakespeare, Henry VI, Part 2, Act 4, Scene 2
  179. Re:standard model by SlackMeister · · Score: 1

    This has nothing to do with production schedules. The problem is that a pilot (and presumably other associated induhviduals) were faced with a machine containing a.) a cutting-edge (no pun intended), incredibly complex mechanical plant of a type never attempted before, and b.) a complex but _really_ not leading-edge computer program to help him control all that machinery. When a problem occurred, the pilot apparantly felt, against all logic, that the problem was more likely with the fairly simple computer than the brutally complicated mechanism it was connected to.

    Apart from the highly debatable logic of rebooting the computer in mid-flight in a fly-by-wire aircraft, the question we should be asking is "why did this guy automatically assume the computer was at fault?" My theories: a.) Computers have that big a reputation for unreliability. b.) MS software has taught the world of users that ctrl-alt-del is the answer to everything. c.) (this is the worst) our society is so narrowly focused on computers and software that even a Marine, someone who lives his daily life as close to nature and physical reality as you can get and still be in the United States, chose in a moment of crisis to think that it must be the computer's fault.

    --
    *** ***
  180. we do bug free by esquif · · Score: 1

    we do control code for radar in military helicopter and the standar and testing force us do be bug free but the cost are way up there...

    --
    to sig or not to sig that is the question
  181. It's not a bug, it's a feature. by pakratt · · Score: 1

    enought said.

    and when i press my face against the frosted shower stall

  182. Re:Nuclear Powerplants, ICBM systems by Drone-X · · Score: 1
    I would venture to guess that the software controlling many nuclear powerplants and nuclear weapons, while probably not as rigerous, are probably written and monitored quite well.
    Hehe, that reminds me of the EULA of Sun's JDK. It says that you cannot use it in airplanes or nuclear power plants. Go figure.
  183. Re:OOP by Drone-X · · Score: 1
    IMHO OOP will one of the leading contributors to errors in safety oriented software that's used in advanced hardware-- my reasoning being that most OOP software (like Borland Pascal or Borland C++, for example) use VMT that are basically just pointers to functions that correspond to virtual functions or static functions. One poorly used pointer or overwritten memory address and suddenly you're calling the wrong code.
    Are you talking about compiler errors here? It so then why treat it differently than procedural languages? If not then what's the difference with pointers as they are used in C for example? Further some OOP languages like Java don't allow direct manipulation of pointers, now why blame OOP in general?
  184. Re:OOP by Drone-X · · Score: 2
    I dunno... a stongly typed compiled OOP language and design by contract would seem great for mission critical things. I assume that's why ADA is used so much for it (if I understand correctly).
    With C or assembler, unless you're using function pointers, these types of things are a lot less likely to happen.
    I wouldn't trust mission critical stuff to C OTOH, the use of pointers (and thus arrays) in it is inherintly dangerous. Compiled Java (a.o.) would seem far safer.
  185. Finish the story by John_Booty · · Score: 2

    ...so did you survive the flight?

    http://www.bootyproject.org

    --

    OtakuBooty.com: Smart, funny, sexy nerds.
  186. Hello World by evildead · · Score: 1
    ./a.out

    Hello Wor^

    Segmentation fault (core dump^

    Segmentation fault (core du^

    Segmentation faul^

    Segment^

    ...

    oh, fuck it ...

    KERNEL PANIC

    1. Re:hello world by agentZ · · Score: 2
      Which actually does relate to the Osprey crash. Many times code that works just fine for one purpose is applied to something it was never intended for, and something completely unexpected happens. Sometimes it's nothing, but when you're flying a helicopter, it can be Bad(tm).

      This is why I shudder when I think about these same companies rewriting the air traffic control system. Yes, it has to be done, but I worry that some people are going to be unwittingly involved in some "real world testing."

    2. Re:hello world by JAVAC+THE+GREAT · · Score: 1
      Indeed. The following compiled in Turbo Pascal 5-7 will crash with a divide by zero about 50% of the time on machines with >~ 400MHz clock speeds:

      uses crt;

      begin
      writeln('Hello World');
      end.

      ---

  187. I've seen non-buggy software. by RESPAWN · · Score: 1

    Many of the small programs that I've written for my computer science courses are more complex than "Hello World" and yet are still bug free.

    Now, they occasionally contain undocumented features, but not bugs. No-sir-ee.


    --------------------------------------

    --

    If Murphy's Law can go wrong, it will.

  188. Nuclear Powerplants, ICBM systems by green+pizza · · Score: 1

    I would venture to guess that the software controlling many nuclear powerplants and nuclear weapons, while probably not as rigerous, are probably written and monitored quite well.

  189. Re:Bug Free software by ai-rupe · · Score: 1

    I'd have to disagree with you. In the time the ISS has been in orbit, there was a major issue with the software that endangered the entire mission. After a module had been added to the structure, the ISS software was not updated with the new weight and center of gravity for the structure, causing a near-miss with a piece of space debris. Check NASA Watch for more information, specifically the letter from Sensenbrenner, the ranking chair of the Committee on Science, to Dan Goldin.

    Other systems on the ISS are apparently flawed also. Astronauts have reported many problems with the systems designed to do inventory management, waste disposal, etc..

  190. BAE Systems by dan14807 · · Score: 1

    BAE Systems (http://www.baesystems.com/ and more specifically, their control systems division, http://lmcontrolsystems.com/) is the company that wrote the software that malfunctioned. I interviewed there recently, and they just gave me an offer of employment (I'm just getting out of college). It looks like a good place, I wonder if I should accept their offer now...

  191. Fucked up "Hello, World" by RazorJ_2000 · · Score: 1

    I once met a guy who fucked up "Hello, World". He said "Helo". Fucking idiot.



    All software should be real-time anyways.



    --
    pi=sigma{n:0-infinity}[(1/16)^n][(4/(8n+1))-(2/(8n +4))-(1/ (8n+5))-(1/(8n+6))]
  192. Re:Crash by Dyolf+Knip · · Score: 2
    Well, no.

    First they crash, then they crash again!

    --

    --
    Dyolf Knip
  193. Re:I think it's expensive, not too expensive. by Dyolf+Knip · · Score: 2

    Ever seen Pick's D3 database software? By far the most worthless piece of junk I've ever had the displeasure of working with. Didn't do one tenth of what they claimed and failed to do anything on a system, client or server, that was running IE 4.0 or above. What's the connection between a browser and a DB? Beats me, but IE 5.5 came out before they got around to fixing it.

    --

    --
    Dyolf Knip
  194. bug free "Hello World" by tvon · · Score: 1

    maybe a good "Goodbye Cruel World" damn...shoulda posted AC

    # Tom von S.
    # -------------
    # "Nuclear weapons can destroy all life on earth,

  195. Re:haha by tvon · · Score: 1

    no,
    features == bugs
    but
    bugs != features
    as
    bugs == idiocy
    quite often

    # Tom von S.
    # -------------
    # "Nuclear weapons can destroy all life on earth,

  196. The wrong point made by piecewise · · Score: 1

    "Has anybody ever seen a bug-free piece of software of any complexity greater than 'Hello World'?"

    Unforunately, you're making a pretty immature point. In this case, a bug has put human life at risk. And to a further extent, what if it had fallen into the streets of New York?

    Certainly nothing is bug-free (maybe), but this did not have to happen, and should not have.

    --
    The next comment I write will be ready soon, but subscribers can beat the rush and see it early!
  197. Previous versions by bloatboy · · Score: 1

    When Fly-by-wire software was first under consideration, one crucial aspect was made abundantly clear: "It must be at least as reliable as the wing spar(the part that holds the wings to the airplane)" With that in mind, the USAF (I think) got some code from NASA that had been developed and used it to control aircraft. I am unaware, until the Osprey crash, of a fly-by-wire software system that had production errors.

  198. Re:Crash by laxian · · Score: 1
    Planes don't "crash" anymore. Now they "blue screen."

    Only if they're landing in the water. On land it might be a black, grey, yellow, green, or white screen.

    Don't forget red (rookery of penguins or herd of cows).

    Yucky

    -Christian

    --

    our written thoughts are gifts to our future selves

  199. Re:In other news... by duffbeer703 · · Score: 1

    This guy is right.

    Having thousands of open source developers collaborate together to improve military software is the best thing that we can do.

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
  200. Re:In other news... by duffbeer703 · · Score: 1

    No, since the GNU General Public License requires that you publish the source code of everything, we would know who had the technology.

    The country that 'stole' it would also have to provide the source of any mods that they make.

    The is no room in this world for non-Free software.

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
  201. Re:In other news... by duffbeer703 · · Score: 1

    Looks pretty hairy... what is that language? is it for microcode or something?

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
  202. Re:Buggy software by Reality+Master+101 · · Score: 1

    If you're a male, it's unlikely you will ever see that monitor, since it is a fetal heart rate monitor for pregnant women. :)

    To be fair, it's been my experience that it's the data acquisition port part of the monitor that's been so atrocious, not so much the "operational" part of the firmware. I'm sure that gets a lot more testing and attention.

    What's kind of amusing is that in later versions of the Corometrics monitor they threw away their own protocol and implemented their chief rival's: HP's.


    --

    --
    Sometimes it's best to just let stupid people be stupid.
  203. Re:Still hosed! Hash/pound character is not portab by Reality+Master+101 · · Score: 2

    But you're assuming that we, as Americans, care about internationalization issues. [RM101 ducks, as the truth of this strikes too close to home...] :)


    --

    --
    Sometimes it's best to just let stupid people be stupid.
  204. Buggy software by Reality+Master+101 · · Score: 3

    I used to write drivers that communicated with medical monitors. Talk about garbage! It was the exception rather than the rule that the monitors worked exactly how they were documented.

    My vote for the medical monitor with the worst software and by far the worst communication protocol has to be the Corometrics 115 monitor. Anyone else ever have to deal with that piece of crap? My condolences if so. It took me literally *years* to get the driver to work perfectly in all situations, because there where so many versions of the firmware that caused it act differently in different situations. It was always fun debugging software running in a live patient environment. :)


    --

    --
    Sometimes it's best to just let stupid people be stupid.
    1. Re:Buggy software by dohnut · · Score: 1


      That's interesting. When I was in college I hung around some people who were doing work for the university hospitals. They were writing software, under SunOS/X11, that would scan an x-ray of tissue to determine what level of clotting was occuring in the vessels, and recommend treatment. It was a little more involved than that and I'm not a doctor, but that is the gist of it. Anyway, this code had to be analyzed not only by the programmers, but it had to be analyzed by third parties for reasons of insurance/lawyers. Hardware was not allowed to change, software was not allowed to change, at least not without going through the whole process again. Basically, after it was completed and working, it was going to take at least a year of testing and validation before it was allowable to use on/for actual people.

      So, my experience was quite a bit different.. Though, after reading your post if I'm ever in an emergency room, I'm going to check out the manufacturer of my monitor.. "Yes, could I have a second monitor please.. ..for redundancy."

      --
      Stupider like a fox! - H.S.
  205. BAE Systems.. by WuTangClanner · · Score: 1

    From the Article: "The software code was written by BAE Systems and was integrated with the Osprey's hardware by Boeing, Pentagon officials said."

    In other words All Your BAES Are Belong.. Oh nevermind.


    :)

  206. Re:Scary... by mfnickster · · Score: 1

    You wouldn't hire a 24-year-old architect to design a million-dollar building. But experienced architects are using software written by 24-year-old programmers to design million dollar buildings.

    No offense, but this is a red herring.

    The tools used by architects (and other professionals) don't necessarily have to meet the level of sophistication of their users. They only have to meet the requirements for the jobs they do. Programmers don't design buildings, but probably the software the architect uses was programmed under the direction of an experienced architect.

    Put it this way, do you expect the low-wage workers who assembled your computer to be replaced by the highly-paid engineers who designed it?

    There's also an implication of ageism in your post that disturbs me. Who cares how old the programmer is if he or she is qualified to do the work? Your 24-year-old might have 10 years of coding experience. :)

    - MFN

    --
    "Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
  207. In other news... by gatesh8r · · Score: 1
    RESEARCH TRIANGLE PARK, N.C. -- Bob Young of Red Hat, Inc., claims that Open Source would have prevented the crashing of the Osprey aircraft due to a software bug. He has been quoted to say, "See what happens when a closed-source monopolistic company gets its hands on the DoD's aircrafts? Certainly they should be brighter than to hire Micor$oft, but still; c'mon, the Open Source community would of patched that thing on the fly and they would of had a functioning reset button!"

    Steve Ballmer of Micro$oft couldn't be reached for comment. A PR monkey from the company is saying that he and the developers of the software are currently being court-marshalled for their recent incedent of the Osprey crash. The PR money has been quoted to say, "Geez! First God misses us with that earthquake and now this! Can't we get all get along? It was an accedent! We weren't, like, trying to pressure the government or anything to drop certain anti-trust charges."

    At that moment FBI agents charged the podium and arrested the PR monkey for consiring to stop a military mission.

    --
    Karma whorin' since 1999
    1. Re:In other news... by Sanchi · · Score: 1

      ok then, what is this

      110056454 adbres
      1 33 77
      14 95 45
      111057453 zdres
      9 44 88

      ok, tell me what this is, ill give you a hint, its TD-Gen, would you like to see some STAGE?
      Sanchi

      --
      "They said we couldn't do it [Athlon]... but we built it, we shipped it... and we didn't have to recall it." Rich Heye
    2. Re:In other news... by Sanchi · · Score: 1

      if only i were so lucky. The language is TD-Gen. Only used in the E-3 Awacs as far as i know. Ive been here 2 years and i STILL dont know shit about the system.

      Sanchi

      --
      "They said we couldn't do it [Athlon]... but we built it, we shipped it... and we didn't have to recall it." Rich Heye
    3. Re:In other news... by Sanchi · · Score: 1

      Yes, I do. I could use GPLed code (i have in the past) and release it to the unit (its considered an internal release) and not have to publish the source code for you. You cant understand my code, give it a try.

      110056454 adbres
      1 33 77
      14 95 45
      111057453 zdres
      9 44 88

      Sanchi

      --
      "They said we couldn't do it [Athlon]... but we built it, we shipped it... and we didn't have to recall it." Rich Heye
    4. Re:In other news... by markmoss · · Score: 2

      Having once worked on a project where, if I told you what it was I'd have to kill you, I find the notion of open-sourced military software very funny... But aircraft control software could easily be open-sourced, even for military aircraft.

  208. Bug-free Software by specialist · · Score: 1

    Almost 20 years ago, Don Good's group at UT Austin delivered the Message Flow Modulator to the Navy. The program was basically a technology demonstration: it showed that a nontrivial piece of code could be designed and formally verified to be correct. Written in the Gypsy 2.0 language, and running on an LSI-11, the Message Flow Modulator sits on a serial line and filters message traffic. Messages that match a set of rules (that are defined by the user) are passed through, messages that don't match are dropped. The program was about 1000 lines of executable code, and about 1500 lines of type declarations and specification statements. Gypsy was a PASCAL derivative, carefully pruned and extended so that every statement had precisely-defined semantics, that could be mechanically verified, using an automatic theorem prover. Don's group developed the code, and the formal correctness proof. The acceptance test suite was developed by a different contractor, out on the West Coast. The Message Flow Modulator saw the acceptance test suite for the first time at PAX River NAS, during the actual acceptance test. It passed. No deviations, no waivers, no ifs, ands, or buts. It passed. On the FIRST try. This had NEVER happened before in all the history of military computing. Don's group got a LOT of attention as a result. I worked with Don's group in the late 1970s. I learned a great deal from the experience.

  209. Yes! by dR.fuZZo · · Score: 3

    Greater complexity than Hello World? That's nothing! How about concatentation the strings "Hello" and " World!" together and THEN outputting it to the screen! Man, oh man. Still need to do the regression testing, though.

    --
    -- dR.fuZZo
  210. Bug Free software by Sanchi · · Score: 1

    the software that NASA uses on satalites, the shuttle and the ISS are the closest to bug free that there is. Software that runs embedded systems like life support and ATM's are also very good. That is the ONE strength of ADA (god help us). Thankfuly the military doesn't have me working on that stuff, I work on the E-3, posibality the greatest computer hack off all time, TD-Gen makes brainf*ck, mindf*ck or what ever it is and intercal look like basic. E-Mail me and i will sent you some source (only for the VERY brave)

    Sanchi

    --
    "They said we couldn't do it [Athlon]... but we built it, we shipped it... and we didn't have to recall it." Rich Heye
  211. Re:Cover-up by Sanchi · · Score: 1

    Actualy, the Marines and Navy never realy wanted to use the plane. It was forced on them by congressman who wanted to make a few jobs in his district.

    Sanchi

    --
    "They said we couldn't do it [Athlon]... but we built it, we shipped it... and we didn't have to recall it." Rich Heye
  212. Hello world by Fruny · · Score: 1

    Hello world is already a pretty complex piece of software...
    Think about it : you are actually doing an output to the screen.
    What are the chances that the print instruction is completely bug-free ?
    Especially if it needs to go through the OS rather than just being a memory copy...

  213. your tax dollars at work by sulli · · Score: 2

    When Dick Cheney was Secretary of Defense the DoD tried to kill the Osprey because it's overpriced and unreliable. Idiots like this guy kept it alive, solely because the plants are in their districts.

    --

    sulli
    RTFJ.
  214. haha by zoftie · · Score: 1

    bugs == features

  215. OPSREY? by philcam · · Score: 1

    QED

  216. it costs more to fix than test by CharmQuark · · Score: 1
    The lesson learned in this case is that all subsystems must be tested. As is stated in the article the reset subsystem was not adequately tested. An emerging feature of the reset system is that when activated it changes the pitch of the rotor. One would think this would be expected, as he pitch or the rotor is controlled by wire and the computer controls the wire, but obviously no one thought of it. Because the system was not tested, this feature manifested itself as a bug, and lives were lost. I suspect someone wanted to save a hour in development, or five in testing.

    Testing is a part of software development. I do not do enough testing, and it is painfully obvious that the well-paid professionals also do not. I would hope that before any more of these aircrafts are produced the managers are tied to chair and forced to read a good book on producing quality software.

  217. The Stealth Bomber. by ryanisflyboy · · Score: 1

    I was watching a documentry on the stealth bomber. EVERYTHING on that plan is controlled by computer. Infact - none of the control surfaces (including throttle) are physically linked to the cockpit. What do you do when the computer fails?? Eject! What a nice way to blow a billion dollars - software bugs can be expenisve huh? This type of flight design is becoming more and more common in aviation. As a pilot - it scares me to death. So all you hackers out there - DEBUG! A lot! If you don't - you could end up killing someone, like me.

  218. Crash by milo_Gwalthny · · Score: 3

    Planes don't "crash" anymore. Now they "blue screen."

    --
    Milo
    1. Re:Crash by UltraBot2K1 · · Score: 1

      Yeah, just like my computer experiences "instant shutdowns".

      --

      Slashdot: Open Source, Closed Minds.

  219. Re:Software often gets in the way of piloting anyw by scorbett · · Score: 1
    Initial tests of flying aircraft by computer had poor results. In a non fly-by-wire aircraft - be it helicopter or fixed wing - the pilot can feel what the vehicle is doing at all times by placing his (or her - hi Jane :) hands on the controls. You can't feel that when computers are added to the equation.

    What about adding force feedback to the pilot's controls, to try and simulate what the pilot would feel if the computer wasn't there? I believe that something like that was done with the CF-105 here in Canada (a long time ago).


    --

  220. Answer to question. by Dest · · Score: 1

    Actually in my early days I wrote a program that let you choose between saying "Hello World" and "Goodbye World". It had NO BUGS!

  221. Bug free code by vslashg · · Score: 1
    Has anybody ever seen a bug-free piece of software of any complexity greater than "Hello World"?

    Remember, every program can be shortened by at least one line, and every program has at least one bug. So by induction, all programs reduce to one line of code that doesn't work.

    1. Re:Bug free code by doubtme · · Score: 1

      Actually, by induction you could shorten it to a program with zero lines of code and one bug - presumably a compiler-created bug.

      Whether or not you could reduce it to a negative size I don't know, but I suspect that that would introduce yet more bugs...

      --

      There's no $$$ in 'team'...
      www..--..net - for incisive, w
  222. OOP by DarkEdgeX · · Score: 1

    IMHO OOP will one of the leading contributors to errors in safety oriented software that's used in advanced hardware-- my reasoning being that most OOP software (like Borland Pascal or Borland C++, for example) use VMT that are basically just pointers to functions that correspond to virtual functions or static functions. One poorly used pointer or overwritten memory address and suddenly you're calling the wrong code.

    Sure, memory protection afforded by protected mode (on Intel processors, anyway, others have their own 'protection') can help safeguard some of the data used by classes in OOP, but AFAIK most of these embedded products most likely use nothing more advanced than an 8086 or 80186 (really, how much processor power is needed to control rotors and other externally embedded devices?).

    But more to the point again, I think it's only a matter of time before bugs like these are fixed and dealt with, it's just too bad it has to lead to the loss of human life before they're found.

    --
    All I know about Bush is I had a good job when Clinton was president.
    1. Re:OOP by DarkEdgeX · · Score: 1
      Are you talking about compiler errors here? It so then why treat it differently than procedural languages? If not then what's the difference with pointers as they are used in C for example? Further some OOP languages like Java don't allow direct manipulation of pointers, now why blame OOP in general?

      I'm not talking about compiler errors, I'm talking about issues with pointer arithmetic (run-time errors), for example, or just off-by-one errors with pointers or memcpy's (again, another example). My point though is that since most compilers output classes (be it in C++ or Pascal/Delphi) they use VMT's that are just arrays of pointers-- if an entry (for example, the entry for the 'Reboot' method) were to be overwritten, then calling the function would either halt the system or (worse) call another function entirely.

      I'm not saying OOP is evil, I use OOP everyday in my work, but for mission-critical embedded devices like the Osprey uses, I'd think a more direct approach would be suitable (read: strictly C or low level assembly language). With C or assembler, unless you're using function pointers, these types of things are a lot less likely to happen.

      As for Java.. who'd use that in a mission critical environment or embedded device? =)

      --
      All I know about Bush is I had a good job when Clinton was president.
  223. I think it's expensive, not too expensive. by 2nd+Post! · · Score: 2

    The cost of developing verifiably bug-free software is not justifiable in some situations. The use of the word many is a value judgement that is at best subjective.

    NASA, for example, can ill afford buggy software.
    Medical centers and hospitals can ill afford buggy software.
    The Army and armed services can ill afford buggy software.

    Now the real question is, can the average user afford buggy software?

    I dunno, I would much prefer no bugs to bugs. How much would I pay for that?

    I don't know.

    Geek dating!

  224. Nit Wits by Beatlebum · · Score: 1

    It seems that 99% of the people that come here are bandwagon jumpers with no formal background in C.S. That's fine, however, I am sick and tired of these eejits passing off ill-thought out speculation as fact. I remember a while ago there was a poll on "your favorite algorithm's complexity o(n^2), o (log n) etc. 90% of the nitwit Slahsdot readers thought that the complexity term was the algorithm itself. Anyway, to the issue at hand. Yes, of course it is provably possible to create bug free alorithms of great complexity for a subset of problems. For critical systems key components are designed using formal methods. When the behaviour of a system is not formally provable, a useful approach is that of the "clean room" - give the same spec to several isolated groups of programmers and combine the output of the redundant systems using a heuristic, for example, majority voting.

    1. Re:Nit Wits by Beatlebum · · Score: 1

      Read what I wrote again Nitwit.

  225. Re:V22 by Maj.+Kong · · Score: 1
    There's a word for this, it's called "overengineered". The Marine Corps wanted a new helicopter, what they got was on over-engineered, overly-expensive, overly-complicated monstrosity that has already taken taken twice the time it would have taken to develop a new helicopter, and *IT'S STILL NOT READY*. In the meantime, their aged fleet of CH-46 Sea Knights (many with authentic Vietnam-era bullet-holes) is just getting older, and failing more frequently.


    The Corps wanted the Osprey to replace the aging, complex CH-47 Chinook (Boeing Vertol to the civilian market), as well as the -46. The Chinook has had plenty of problems with its twin rotors, even though it's a "conventional" helicopter.

    The V-22 has twice the speed and twice the capacity. Anyone who thinks 4 crashes makes a "deathtrap" is ignorant of the history of aircraft systems development (c.f. Martin B-26, Boeing B-29, Convair F-102, General Dynamics F-111, Harrier, etc.).

    Maj. Kong

    --
    --

    Shoot, a fella' could have a pretty good weekend in Vegas with all that stuff.
  226. Fucking beautiful, that! by SexyAlexie · · Score: 1

    I almost clicked on that link wen I realised I was cruising at -1 mode. Tee-hee!

    --
    I'm too sexy for you.
  227. The reset button didn't work right?!?! by AFCArchvile · · Score: 1

    Ugh, when the reset button on a computer doesn't work right, you KNOW there's a big problem. And I thought ATX was bad enough with the delayed power-off.

    --
    "Ancillary does not mean you get to rule the world." --U.S. Circuit Judge Harry Edwards, speaking to the FCC's lawyer
  228. let the... by goodhell · · Score: 1

    ...Windows bashing begin!!!

  229. V22 by PlowKing · · Score: 5

    Back in early 90's I worked for a defense contractor that was involved with the testing of the V22's engines. I remember sitting in a meeting and looking at some of the mechanical drawings and saying to myself, "glad I'm not the test pilot". It is a very complicated design. Most military aircraft like the V22 have quadruple redundant electronic systems and even the engine ECUs will talk to each other and monitor the one that is currently in charge and if the others determine that the main ECU is malfunctioning the other three will vote to remove it. Very complicated algorithms. Also to maintain that both rotors have power with one engine failing a high speed drive shaft is used to transfer power from the good engine to the transmission on the side that lost power. The drive shaft has a very small diameter but would spin at something like 10,000 rpms. Low torque but high power. The designers are thinking about safety and I think this bird can work its just not being funded with the enthusiasm of the old cold-war projects.

  230. Honestly, now by tulare · · Score: 1

    I have yet to call a piece of software complete if it does have a bug in it. Really! Now, I know that certain megalithic sofware companies might not share these values, but I guess I just work harder than they do.

    So I really don't think it's fair to blame too much technology here. Maybe the developers. No matter how you look at it, though, it bears remembering that real people died here, which is tragic indeed.

    --
    political_news.c: warning: comparison is always true due to limited range of data type
  231. Re: Stealth Bomber by __aakpxi9117 · · Score: 1

    Yeah, you remember the first completely Fly-By-Wire plane? Something called the B2 stealth bomber? We all know how horrible it is. We would be sooooo much better off if we didn't have fly-by-wire and we wouldn't have to put up with planes like the B2 at all.

  232. Re:Software often gets in the way of piloting anyw by lowflying · · Score: 1
    It's not the software intrinsically, it's the design decision to reduce control surface feedback.

    My initial training at Mother Rucker was in the TH-55, a completely mechanical linkage aircraft. I performed well above average, according to the daily grades and the final checkride grades. Next came the Contact phase of training in the Huey, with hydraulics. On the day when my despondent instructor was ready to finally throw in the towel, convinced that I had never seen an aircraft before, he looks at me and says "You don't seem to have the faintest idea what the aircraft is doing at any moment, you are just chasing it around...".

    Determined to try and keep me on syllabus, in case I ever got a clue before I washed out, on the next idiot lap around the stagefield, he started the training for a hydraulics failure. We went through the procedure, including turning the hyrdraulics off... and wow... all of a sudden I could feel the blades again... I started making little circles with the cyclic...adjusting the cyclic... just to prove to myself that I knew what the aircraft was doing.

    I made my best approach and landing to that point. The IP looks over at me with this look of "Eureka!" and says "Pick it up to a hover...".

    Forty-five minutes of glorious hydraulics off training later, I'm soaked in sweat, with a grin that is only exceeded by the one on my instructor's face. It took a while to feel what hydraulics was dampening, but I made it through.

    The Blackhawk (known in the 80s to most Army Aviators as the Crashhawk) hides it even more. I've never flown the V-22, but I do have some time in Bell's simulator, which I am told is very accurate. Couldn't feel a thing about the blades, I'm glad it was the simulator. That aside, I'd go back to Active Duty if they'd promise me the Osprey.

    Dave

  233. Open Sourcing flight software by ekfinn · · Score: 1

    In all honesty, I think the idea of open-source military aircraft control software is rediculous. Granted, if the software was open-source, you could probably get fixes for bad code syntax, but probably not for slight physics miscalculations unless PhDs enjoy debugging military code in their spare time (the Osprey's thrust vectoring is enormously complex). Also, it would make me uneasy to think that the rival nations of the United States would have access to the software that controls our most sophisticated aircraft. The control software in our aircraft is part of the reason they are superior to most others in the world. I'm not going to get into the politics of saying the U.S. is or should be the biggest and baddest and not share its military technology. But just remember, that there ARE nations that do not favor the United States for whatever reasons that I'm not going to discuss. With that thought, as a citizen of the United States, do you want those nations having access to the technology that gives our aircraft an edge over our enemies'? War is a horrible thing, but is sometimes warranted to protect the lives of those who wish to live peacefully. I hope you will try to see things from my perspective. Eoin Finn PLC, United States Marine Corps

  234. A Perfect Program [C++ code] by derf77 · · Score: 1

    #include int perfection(const int &original, int divisor, int i) { divisor--; if(divisor > 0) i=perfection(original,divisor,i); if(divisor>0) if(original%divisor==0) i+=divisor; return(i); } void main(){ int original,divisor,i,b=0; original = 1; do{original++; divisor = original; i = perfection(original, divisor, b); if(i==original)coutiendl; }while(original 8129); }

    --

    Douglas Adams

    1952-2001 :(

  235. Re:A Perfect Program [C++ code] by derf77 · · Score: 1

    And /. screws up the formatting.. It thinks iostream is HTML! Blame me for not previewing.

    --

    Douglas Adams

    1952-2001 :(

  236. Software by the0ni · · Score: 1

    I'm a marine avionicsman stationed at mcas new river, home of the osprey. I've seen theh quality of the software that comes out of china lake (our test site) and it's usually a pain in the ass to get new systems up and running with the basic software used on the huey's and cobra's that I work with. I dare not imagine the crap that the avi guys have to put up with in a "glass cockpit" integrated software package. eeugh. add to that the idea's of working with an airframe that NOONE has experience with, from the pfc's to the gunnery sergeants, and it sounds like a recipie for disaster. And on a side note, I saw an osprey up close in a hanger on base the other day when I went to the battery locker, and I'm amased the things even get off the ground, weather they stay that way or not.

  237. Well of course... by AnotherBlackHat · · Score: 1
    Has anybody ever seen a bug-free piece of software of any complexity?

    All production software of any complexity can be rewritten to be one line shorter.

    All production software of any complexity has at least one bug.

    By iterating the two statements, we reach the conclusion that all production software of any complexity can be reduced to one line of code, that has a bug in it.

  238. Re:Cover-up by markmoss · · Score: 2

    Maybe so, but since they haven't got any new helicopters since the Blackhawk (30 years old?), they do really need the Osprey now.

  239. Re:Cover-up by markmoss · · Score: 2

    I did mix up the dates a bit. It's at least 20 years since the first Blackhawk protos flew, and over 15 since they started using them -- however it wasn't flying right until 1988 or so, and I know that because I was peripherally involved in a critical avionics fix. The tail-plane was electronically controlled, the cable to that controller wasn't adequately shielded and filtered, and radio signals in the military voice band could be picked up and jam the tail-plane controller to full nose-down. In the typical Blackhawk mission, it would be at 100 foot or so above ground, and so it was almost impossible for the pilot to pull it out -- and difficult afterwards to tell whether something malfunctioned or the pilot just misestimated wind and trees... There were a number of crashes before the Army would admit there was a problem. I think a system I was working on in 1987 forced them to fix it -- it included a transmitter powerful enough to would drive the chopper full nosedown every time, and because it was usually fired up at 5,000 feet there was time to turn off the transmitter and recover control, so the pilots got back alive to report. And there is nothing angrier than a pilot whose aircraft just tried to kill him...

  240. Scary... by DerekLyons · · Score: 1

    You wouldn't hire a 24-year-old architect to design a million-dollar building. But experienced architects are using software written by 24-year-old programmers to design million dollar buildings.

    The quote isn't mine, but I don't recall where I saw it.

    1. Re:Scary... by DerekLyons · · Score: 1

      Programmers don't design buildings, but probably the software the architect uses was programmed under the direction of an experienced architect.

      Maybe, maybe not. It's dangerous to assume that just because the box says 'useful to architects' that an architect was involved in the *design and testing* (not programming) of the program.

      Put it this way, do you expect the low-wage workers who assembled your computer to be replaced by the highly-paid engineers who designed it?

      What does one have to do with the other? The low wage worker is performing a low skill task. The architect is performing a high skill task.

      Who cares how old the programmer is if he or she is qualified to do the work? Your 24-year-old might have 10 years of coding experience.

      Pardon me, but this is a red herring. 10 years of coding experience does not imply the capacity, training, or skills needed to write important or mission critical code. This is an error that programmers make continually, treating all code as equal.

      There's also an implication of ageism in your post that disturbs me.Why should a simple fact of life disturb you?

  241. Tail wagging the dog. by DerekLyons · · Score: 1

    The Osprey has always been considered a boondogle from the get go

    Not by those who badly need it's capabilities. Nor by those with airframes desperately in need of replacement.

    Only by those politicians who don't have part of it in their districts.

  242. Cover-up by jrwillis · · Score: 1

    Personally it sounds to me like the marines are just trying to cover-up the larger problems with this aircraft. As I'm sure all of you know, this aircraft has been under attack my many prominent people in the aviation industry as being unsafe and not suitable to fly. The marines have, of course, vehemently denied all these charges to conceal the fact that they have wasted millions of taxpayer's dollars to develop an unsafe aircraft. The problem is, while I support the armed services and their funding of projects like this, I do not support blaming some poor programmer for a crash of what is a know to be unsafe aircraft. It's like building a boat with holes in the bottom and then blaming the engine manufacturer when in sinks.

    --
    Keep Austin Weird!
  243. standard model by corporatewhore · · Score: 2
    could this be because managers and bean counters fail to realize that the standard deadline model of production for software simply Does Not Work !!??

    We need a better model or computers will remain the elusive and vile creatures that, to the masses, they are...

    --

    you think it's easy, but you're wrong...

  244. Now who to blame... by ryants · · Score: 1
    In other engineering disciplines (ie civil, mechanical, etc), there are people to blame if a bridge collapses or a building falls over.

    In the "software engineering" realm (and I use that term loosely), who gets blamed? Are individual coders going to start taking the fall for software that blows up (literally)? Where might this lead?

    All of a sudden, I'm glad I'm one of the good coders... :)

    Ryan T. Sammartino

    --

    Ryan T. Sammartino
    "Ancora imparo"

  245. Anyone else remember the THERAC? by tb3 · · Score: 3

    Atomic Energy of Canada, Ltd. (AECL) built a medical radiation device called the THERAC that had a major software bug in it that killed at least three people. If the operator hit the keys on the keyboard in the wrong sequence, the machine would deliver 1,000,000 times the dose displayed on the screen. Massive radiation poisoning, and the victims died in a few days. They finally traced the problem to a coding error made by a contractor.
    This, of course, is a massive over-simplification of the problem. The full story can be found here
    -----------------

    --

    www.lucernesys.comHorizon: Calendar-based personal finance

  246. Re:110th post by User+317207 · · Score: 1

    newbie

    it's time to progress to the next level

  247. OT: The abuse of the word "Art" by Macrobat · · Score: 1
    Of course, "Art" itself has undergone some degradation, now that people can shit in jars, put it on a stand, and call it 'art.' And it seemed like a fad a couple of years ago for women to tack used tampons onto canvasses as well.

    { //Rant

    Sigh... There was a time when artists had to know a substantial amount of geometry, anatomy color theory and even history to be considered worthy of the title. Art was considered the height of discipline, not some random spasms put on display.

    And no, I'm not against modernism, or certain things called postmodern. I just have standards, deconstruct them at your own peril.

    } //Rant

    --
    "Hardly used" will not fetch you a better price for your brain.
  248. Hrm. by Liquid-Gecka · · Score: 1

    Software Problem Linked to Osprey Crash

    I read this and instantly think of the Osprey pilot, playing Solitare on the WinNT box running the system when all of a sudden in blue screens. =)

  249. software glitch by KoshClassic · · Score: 1
    It sounds less like a 'bug' in the software than a software design flaw. I watched the Marines briefing on CSPAN - what they said was basically this:

    1. The Osprey has three hydraulic systems that control properller pitch. Any one should be able to provide adequate control in case the other two fail.

    2. The three systems are not completely independent - in some places they share lines with one of the other systems.

    3. In the report - they found that the ruptured line cauesd a complete failure in one of the systems - a second system was compromised but an isolation valve cut it off so that it would not leak - but the isolation valve activation meant that this particular hydraulic system was no longer providing power to control prop pitch in one of the engines. So, one of the props pitch controls is getting powered by two systems, the other only by one.

    4. When the pilot pressed the reset button, the computer attempted to change prop pitch - the software did not account for the fact that the isolation valve caused more power to change the pitch of the props in one of the engines than in the other - so the props changed pitch at uneven rates - this is very bad since one prop is now generating more thrust than the other - this asymetrical thrust caused unwanted yawing of the aircraft - whatever the computer did to correct this unwanted yawing didn't help - but this also probably included changing the pitch of the props some more which likely compounded the problem.

    --
    Understanding is a three edged sword. - Ambassador Kosh Naranek, Babylon 5
  250. hello world by hawkeyeMI · · Score: 1

    Incidentally, I've seen a buggy "Hello World" program before.

    --
    Error 404 - Sig Not Found
  251. Bugless code? by cpunkgrrl · · Score: 1

    Oh sure!
    Lots....during my tenure as lab tech I saw lots of C and Fortran problems with no bugs. But to get there I saw CS majors working 40 hours a week on them, some code only 75 lines long!

    You CAN get bugless code! But, you have to put solid code as top priority, over the deadlines, over the bottom line. You aren't going to see much in corporate and even scientific america because the deadline has become the all important factor.

    Also, the fewer people who work on the code the better. I believe the best set up is tandem coding, two people working together and checking each other. More than that and you get committees designing giraffes.

    Looking into The Mythical Man Month by Fred Brooks and Refactoring by Martin Fowler for ideas on how to better your code.

    --
    "Are these questions testing whether I'm a replicant or a lesbian, Mr. Deckard?" -Rachael Tyrell