News for hackers. Stuff that matters.
Re:Integer Overflow Bug in Boeing 787 Dreamliner by stcredzero on Saturday May 02, 2015 @03:50PM (#9478308)
In theory, every industry requirement (DO-178B, etc) was supposed to trace to a high level Software Design Document (SDD) requirement, which was supposed to trace to a Software Requirements Document (SRD) requirement, which would trace to a code function. We maintained all of that BY HAND. It was a huge mess. Perfect example of something that could have been an extremely valuable development tool, but ended up just being a hassle to try and maintain.

This is a symptom that group culture there is interfering with rational decision making around tool use.

Then of course there's language choice. C is king, which isn't necessarily a bad thing, but it's certainly not the safest, even in the restricted forms used in avionics.

This is another symptom. Perhaps it's excusable if there were preexisting libraries/codebase.

It's almost cliche to say nowadays, but I would be really excited to see Rust gain some traction in avionics over the next 20 years or so. Because that's how far behind avionics is. We were using Visual Studio 6 in 2011!

Another indication that group culture is blocking rational decision making about tool/language choice.

Re:Integer Overflow Bug in Boeing 787 Dreamliner by javert on Saturday May 02, 2015 @04:08PM (#9478385)
> This is another symptom. Perhaps it's excusable if there were preexisting libraries/codebase.

Uh, what would you use? As far as I know, the choices are: Assembler, Ada, and C. We're talking about avionics code, here.

C++ is not going to help you in this case. Java will be too slow/unpredictable. Real-Time Java is kind of sketch in my opinion (I could be wrong there). Most everything else is totally out.

Actually I'd probably choose Ada... but there are reasons the industry switched away from Ada.

Re:Integer Overflow Bug in Boeing 787 Dreamliner by azth on Saturday May 02, 2015 @11:54PM (#9479791)
> Java will be too slow/unpredictable. Real-Time Java is kind of sketch in my opinion (I could be wrong there).

* http://en.wikipedia.org/wiki/Real_time_Java

* http://www.rtsj.org/

Re:Integer Overflow Bug in Boeing 787 Dreamliner by javert on Sunday May 03, 2015 @03:30AM (#9480372)
I'm already familiar with those (which is why I mentioned it). Maybe you are just linking it for other people, in which case, thanks.
Re:Integer Overflow Bug in Boeing 787 Dreamliner by barsonme on Saturday May 02, 2015 @10:44PM (#9479581)
Why did the industry switch away from Ada? I thought they preferred Ada because it was such a 'safe' language?
Re:Integer Overflow Bug in Boeing 787 Dreamliner by javert on Sunday May 03, 2015 @03:34AM (#9480381)
Because Ada programmers were too expensive (i.e., there weren't that many of them).

At least, that's what I remember hearing---can't really vouch for it and I'd be happy to see someone else weigh in.

Also, my understanding was that Ada was basically forced on the defense industry by the Pentagon, and then there was eventually a backlash, and they dropped it. It may have had more success if it had been adopted voluntarily all along. In fact, it may yet have a resurgence. I know there is at least one serious Ada vendor out there still.

Re:Integer Overflow Bug in Boeing 787 Dreamliner by stcredzero on Thursday May 07, 2015 @04:45PM (#9508163)
Also, my understanding was that Ada was basically forced on the defense industry by the Pentagon, and then there was eventually a backlash, and they dropped it.

So they went to C? There's some irrational component in there somewhere.

What about Swift? Reference counting has good properties for real time applications. The toolchain is excellent for implementing verification tools. It has fairly high performance, combined with a very large and growing developer base. If someone put together a toolchain for Swift that covered the most useful 20% of features provided by Ada in that context, then such a thing could take over avionics programming.

Re:Integer Overflow Bug in Boeing 787 Dreamliner by barsonme on Sunday May 03, 2015 @11:43PM (#9484182)
Ahh, makes sense. Thank you.
Re:Integer Overflow Bug in Boeing 787 Dreamliner by stcredzero on Saturday May 02, 2015 @09:26PM (#9479377)
As far as I know, the choices are: Assembler, Ada, and C. We're talking about avionics code, here.

In that case, "group" may refer to the avionics software industry as a whole.

Re:Integer Overflow Bug in Boeing 787 Dreamliner by jonnybgood on Saturday May 02, 2015 @04:40PM (#9478474)
When you say Java I'm assuming you're refering to a JVM? Now what JVM are you refering to?