News for hackers. Stuff that matters.
Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by dentemple on Saturday June 29, 2019 @12:30PM (#20313422)
The real kicker is that the software worked exactly as intended.

It wasn't the programmers' fault that the planes went down. It was the specs they were given that were bad.

Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by anon121212 on Saturday June 29, 2019 @01:18PM (#20313660)
I understand what you mean but no tester/developer worth their salt should say or hide behind this. Sadly, too many do. The job of the tester is to go beyond just blindly testing the spec but to find and report faults, those that somehow were missed earlier in the chain. And oh, no idea how Boeing missed it but some Indian companies are just not worth the bother. HCL, TCS, Cognizant, Infosys included. But hey, they're cheap!
Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by mannykannot on Tuesday July 02, 2019 @01:20PM (#20337245)
> The job of the tester is to go beyond just blindly testing the spec but to find and report faults, those that somehow were missed earlier in the chain.

So these testers should have been test pilots? - because the interaction of MCAS and the difficulty in manual trimming was not going to be found until someone tried it in the air (there is considerable doubt as to whether simulators accurately model it.)

And if this was the tester's job, what was the job of the engineers at Boeing who decided on using MCAS to solve a problem, and those at the FAA who endorsed it?

Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by anon121212 on Friday July 05, 2019 @09:34AM (#20362366)
You obviously missed my point, so kindly re-read my comment, particularly the part about the entire chain. Everyone involved is responsible for the deaths of innocent lives. Testers are at the end of the chain and have the power of approving or halting the deployment but the ones working for these inferior companies don't put on their thinking caps because they're just incapable of doing so. They test the spec and collect the check.
Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by mannykannot on Friday July 05, 2019 @10:57AM (#20362966)
I read and understood your original point, and that is what I disagree with. You have made a general point about responsibility, but my point is that if we look at the specifics of this particular issue, one cannot expect software testers to anticipate the particular risks that MCAS presented. On the other hand, there are other roles in the airplane development process where the people involved are expected to have the requisite knowledge to identify and judge such risks, and these are employees of Boeing or the FAA (if it turns out that these roles were farmed out to low-bidding subcontractors, that's a separate issue.) These domain experts ruled that MCAS was acceptable as designed, apparently largely on the mistaken grounds that MCAS failure is just like any other trim runaway excursion, a mistake exacerbated by the failure to properly communicate the increased power of the redesigned MCAS among the domain experts.

No sound root-cause analysis will come to the conclusion that the crashes resulted from Boeing contracting out software testing to low-bid contractors. You are making the fallacy of arguing a general point that does not apply in this specific case.

Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by platz on Saturday June 29, 2019 @12:39PM (#20313472)
That's why you want devs who actually care about the business. Often a tough sell for management who do not expect feedback/collaboration from development; and that's also a skill that devs actually have to practice to get good at, else if you just ask them they give self-interested answers (cutting features etc..)
Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by posix_me_less on Saturday June 29, 2019 @01:05PM (#20313609)
If so, this may be a good back-to-reality counter-example for all the over-zealous formal proof enthusiasts. There is an old paper from 70's by people who designed complex systems where they stress the point that even if your system was designed and formally checked and if it obeys all the known rules and specifications, it will still fail in real world unless you test and iterate it a lot. Because it is impossible to formally specify all possibilities that can happen, and noone can forecast all the desired specs before the thing is built and tested in real. One has to experiment/iterate to find the very specifications that are then going to be designed against. Which in 737Max case was seemingly neglected.
Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by mannykannot on Tuesday July 02, 2019 @11:58AM (#20336379)
> Because it is impossible to formally specify all possibilities that can happen, and noone can forecast all the desired specs before the thing is built and tested in real.

You cannot exhaustively test software either - the number of cases to cover are beyond astronomical.

The effectiveness of both specification and testing ultimately depend on the same thing: thinking of all the relevant possibilities. If you overlook a possible failure mode, there's no guarantee it will be caught at any phase. The main benefit of formal methods, I think, is that the rigor tends to make such oversights visible.

the only people who think formal methods are a magic bullet are those who have not tried them. Likewise, the only people who think more testing (and especially unit testing) is a magic bullet are those who don't understand combinatorial complexity.

Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by hobofan on Saturday June 29, 2019 @01:18PM (#20313661)
> Because it is impossible to formally specify all possibilities that can happen, and noone can forecast all the desired specs before the thing is built and tested in real.

Is that so? Wouldn't it be in theory possible to verify it against our current understanding of all laws of physics and the corresponding equations?

Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by posix_me_less on Saturday June 29, 2019 @01:52PM (#20313843)
You are forgetting nondeterministic aspects. Only in theory, aircraft and atmosphere is a deterministic Newtonian machine, in practice, less so. But even if so, physics simulations can't be done and evaluated for all possible initial conditions for even the simplest model.

One can imagine a mental model of airplane and make a formal design for it. Then do a formal check in the most important scenarios that introduce weather, human action, system failures. The design will always fail for some scenarios. Not a problem if those are not important (in terms of risk). But which scenarios are the important ones? Probability and severity of consequences of those scenarios are much needed knowledge, and one can find those only via the good old method of iterative testing in wild.

Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by ori_b on Saturday June 29, 2019 @03:17PM (#20314239)
But it obeys the laws of physics perfectly as it nosedives into the ground.
Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by nutjob2 on Saturday June 29, 2019 @01:25PM (#20313689)
It also has a user interface. Are you saying it's possible to formally quantify human behaviour as well?
Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by hobofan on Saturday June 29, 2019 @02:51PM (#20314117)
Every program has a inputs, and with that some more ore less direct version of a user interface. You define the acceptable input values and then define what happens with unacceptable ones (and same for combinations).

If that were not verifiable, then no program would be.

Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by olah_1 on Saturday June 29, 2019 @12:47PM (#20313519)
Anyone that has ever worked with outsourced developers knows the truth of this.

If you give them a spec or requirements, they will do exactly what that thing says. Even including the typos or grammatical errors.

I don’t blame them. They have no incentive to care beyond this type of business transaction.

But applying this model to anything other than vaporware is terrifying.

Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by bonestamp2 on Saturday June 29, 2019 @01:04PM (#20313605)
> They have no incentive to care beyond this type of business transaction.

I don't know if it's even a matter of incentive. Even when we hire local developers from some particular cultures, it's not part of their culture to question "authority" or be independent thinkers. So, they too will do exactly what we ask because they trust us as the experts or think that we'll be displeased if they don't do precisely what we asked.

Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by jonas21 on Saturday June 29, 2019 @02:31PM (#20314029)
Sometimes including the typos is important!

https://en.wikipedia.org/wiki/HTTP_referer

Re:Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers by rbanffy on Saturday June 29, 2019 @02:17PM (#20313961)
About typos, if the typo is part of the spec, that's what the software should implement. If the spec gets revised, then the programmers should implement the revised version.

When you have software that interacts with other software, you follow the spec because you know the spec is going to be followed by the other parts, and that you should not get imaginative when human lives depend on your software working correctly.

The MCAS incident shows software that worked as expected, based on a spec that had incorrect and missing information and pilots that didn't have the information to understand the erroneous behavior. Also, the motors that actuate the trim wheels exert so much force that the pilots weren't able to counteract their action.