News for hackers. Stuff that matters.
Re:Amazon cargo plane crashes in Texas by mruts on Sunday February 24, 2019 @12:30PM (#19239491)
Honestly that sounds like hell. I sure as hell didn’t become a developer so I could get thrown in jail for buggy code. Building software is something no one really knows how to do and we are still at the infancy of our field. I don’t think it would be fair to impose the same standards thst real engineers have on such a nascent and choatic field.
Re:Amazon cargo plane crashes in Texas by raesene9 on Sunday February 24, 2019 @12:48PM (#19239607)
The software industry has been a thing for over 60 years now, with the first commercial software company being founded in 1955 (https://en.wikipedia.org/wiki/Software_industry#History).

The first commercial aviation company was formed in 1909 (https://en.wikipedia.org/wiki/Airline#History), the FAA was founded in 1958 and the NTSB in 1967....

At some point the "we're in our infancy" stage has to end.

Re:Amazon cargo plane crashes in Texas by trevyn on Sunday February 24, 2019 @03:48PM (#19240532)
The guidelines for safe aviation have way lower Kolmogorov complexity than the guidelines for safe “everything that software can do”-iation. It’s actually close to a subset when you think about it.
Re:Amazon cargo plane crashes in Texas by mruts on Sunday February 24, 2019 @12:57PM (#19239647)
Well ideally it would end when we know what the fuck we are doing.. the number of bugs I find in all sorts of software (with Apple being one of the worst offenders) is frankly embarrassing and a pox mark of the entire industry.

If planes were as reliable as software they would be the leading cause of death in the world.

Re:Amazon cargo plane crashes in Texas by dchichkov on Sunday February 24, 2019 @01:29PM (#19239815)
I would recommend reading "Developing Safety-Critical Software: A Practical Guide for Aviation Software and DO-178C Compliance".
Re:Amazon cargo plane crashes in Texas by bdamm on Monday February 25, 2019 @10:30AM (#19246285)
The software planes use is reliable.
Re:Amazon cargo plane crashes in Texas by mikeash on Sunday February 24, 2019 @02:59PM (#19240268)
We know how to build reliable software. When it really matters, because lives are on the line or because failures cost real money, it is done.

What we don’t know is how to write reliable software while also delivering an MVP for antsy VCs and shipping feature updates every week.

And that’s fine. Not all software needs extreme reliability. The problem is that a lot of software gets categorized as “doesn’t need it” when it really shouldn’t be, like all those systems holding sensitive personal information.

Re:Amazon cargo plane crashes in Texas by javagram on Sunday February 24, 2019 @12:38PM (#19239544)
One could argue that it’s precisely because there are no standards that the field is so chaotic.

I’m not sure what the right balance is - the more standards and compliance there are, the more innovation suffers. On the other hand, without standards or legal responsibility, it makes sense for companies to play fast and loose with security, privacy, and stability in favor of features - a consumer is going to pick a better product based on UX, features, and cost, not based on security they have no way of judging.

Re:Amazon cargo plane crashes in Texas by bilbo0s on Sunday February 24, 2019 @01:26PM (#19239793)
>I sure as hell didn’t become a developer so I could get thrown in jail for buggy code...

You'd better stay away from any company that requires FDA approval. Believe it or not, every change is signed. By you. By the FDA compliance person. Etc etc. I'll give you two guesses as to how they decide who goes to prison if God forbid something in the software is shown to have caused a fatality? Or, worse, a series of fatalities?

That sort of regulation happens even in the software industry. It just depends on the purpose of the software.

Re:Amazon cargo plane crashes in Texas by AnimalMuppet on Sunday February 24, 2019 @03:42PM (#19240504)
I don't think developers get thrown in jail, even for a bug that kills multiple people. The one time I've heard of people getting thrown in jail it was upper management, for trying to game the FDA audit and approval process. They got led out the door in handcuffs by US Marshalls.

Source: Worked in FDA-regulated software for six years, at two different places.

Re:Amazon cargo plane crashes in Texas by yesenadam on Sunday February 24, 2019 @01:59PM (#19239978)
>I'll give you two guesses as to how they decide who goes to prison if God forbid something in the software is shown to have caused a fatality?

Would you mind just telling us instead? Thanks.

Re:Amazon cargo plane crashes in Texas by rleigh on Sunday February 24, 2019 @03:42PM (#19240500)
See IEC 62304:2006 (https://www.iso.org/standard/38421.html) and the related standards which govern the formal processes which medical device software must meet for FDA and CE approval (as well as other national standards).

The whole process from requirements, specifications, high and low level design, implementation, validation and verification and the rest of the lifecycle requires stringent oversight, including documentation and signoffs. The signatures on those documents have legal meaning and accountability for the engineers who did the analysis and review at each stage.

Re:Amazon cargo plane crashes in Texas by roel_v on Sunday February 24, 2019 @06:32PM (#19241360)
Look at this from an economics perspective, do people in this sort of positions get paid more than comparable positions in other fields? I'd never heard of legal liability for software engineers. Has anyone ever been convicted or otherwise been held accountable when there was a failure?
Re:Amazon cargo plane crashes in Texas by mruts on Sunday February 24, 2019 @01:48PM (#19239919)
That’s really funny actually, I used to work as a developer for the FDA for their researchers. But since we were just publishing meaningless papers, I was probably safe.
Re:Amazon cargo plane crashes in Texas by nn3 on Sunday February 24, 2019 @12:55PM (#19239634)
Nobody is thrown in jail ever for a airplane failure analysis. Every human failure is considered a process failure, that gets fixed by improving the processes or the machinery
Re:Amazon cargo plane crashes in Texas by tzs on Sunday February 24, 2019 @07:15PM (#19241598)
> Nobody is thrown in jail ever for a airplane failure analysis

...in the United States. I definitely recall watching multiple episodes of Air Disasters [1] where surviving pilots in crashes in other countries that killed passengers went to jail for things that in the US would have at most resulted in a suspended license and demotion or termination from their airline.

For example, Air France Flight 296 in 1988. Another example is Gol Transportes Aéreos Flight 1907 in 2006 in Brazil.

[1] AKA Air Emergency, Mayday, or Air Crash Investigation, depending on what country you watch in and what channel it is on.

Re:Amazon cargo plane crashes in Texas by pmyteh on Sunday February 24, 2019 @01:06PM (#19239697)
...and the accident investigation data and reports are expressly restricted from being used in legal proceedings (Chicago Convention, Annex 13) with the intention that the process is for preventing accidents, not for prosecuting scapegoats.
Re:Amazon cargo plane crashes in Texas by jessaustin on Sunday February 24, 2019 @06:00PM (#19241211)
If the investigations of any particular mishap were to indicate that some particular person or persons had been criminally negligent, it would be no surprise to see those people prosecuted eventually. If another team of investigators has to write a different report, they will.
Re:Amazon cargo plane crashes in Texas by vonseel on Sunday February 24, 2019 @12:41PM (#19239563)
Not sure if I agree that no one really knows how to do it, but yeah, software is not as disciplined as something like civil engineering. And for most things, it doesn’t need to be. For others, their teams operate much more slowly and with more testing and QA - think of a basic web app developer versus someone writing software for Boeing aircraft. The jobs are completely different. For most web app developers, screwing up doesn’t endanger anyone’s life.
Re:Amazon cargo plane crashes in Texas by mruts on Sunday February 24, 2019 @12:45PM (#19239581)
I mean we can kind of make software, but it always has bugs and even the biggest companies who have (supposedly) the best developers consistently make products that don’t work very well at all. Software qualiry looks really bad compared to, say, bridges or cars or airplanes.
Re:Amazon cargo plane crashes in Texas by ethbro on Sunday February 24, 2019 @12:59PM (#19239653)
Respectfully, I call bullshit on this.

We know some very good ways to build reliable software. It's just that most industries can't / don't want to pay the costs associated with doing so.

The don't-know / don't-want distinction is functionally irrelevant, but I have a minor tick about it because asserting the former is often used to avoid admitting to the later.

Legacy IBM and ATT, for all their cluster%_$^!s, were amazing at engineering reliable systems (software and hardware). Maybe that's not practical nowadays, outside of heavily regulated industries like military / aerospace, because markets have greater numbers of competitors. But we do know how.

An accurate and modern truth would probably be "We don't know how to quickly build reliable software at low cost."

Re:Amazon cargo plane crashes in Texas by mruts on Sunday February 24, 2019 @01:09PM (#19239707)
I mean, clearly, if we really wanted to, we could build all of our software with Coq and have it be formally verified. But we don’t. The Curry Howard isomorphism proves that code and math are equivalent and since we can prove a bunch of stuff with math, we should also be able to prove that our software systems are big free.

And so you’re right, maybe my statement is a little bit of a simplification, but not by much. The amount of man hours it would take to prove that the Linux kernel had no bugs according to some specification would require an absolutely prohibitive amount of time. As such formal verification is so prohibitive that only the most trivial systems could ever be proved.

This is pretty similar to saying that we don’t know how to build bug-free code. We need a paradigm change for things to get better, and I’m not sure it will happen or if it’s even possible.

Re:Amazon cargo plane crashes in Texas by AnimalMuppet on Sunday February 24, 2019 @03:39PM (#19240492)
I think of it in slightly different terms. Yes, we could build software that reliably. (Perhaps not totally bug free, but, say, with 1/100th of the bugs it currently has.) But that takes a lot more time and effort (say, 100 times as much, as a rough number). That means, because it would take 100 times as much effort to produce each piece of software, we'd only have 1/100th as much software.

Would that be a better world?

Sure, I hate it when my word processor crashes. On the other hand, I really like having a word processor at all. It has value for me, even in a somewhat buggy state, more value than a typewriter does. Would I give up having a word processor in order to have, say, a much less buggy OS? I don't think I would.

I hate the bugs. But the perfect may be the enemy of the "good enough to get real work done".

Re:Amazon cargo plane crashes in Texas by ethbro on Sunday February 24, 2019 @04:11PM (#19240634)
I look at that as the efficiency distinction.

It goes without saying that if we had more time, there would be fewer bugs.

But there are also things (tooling, automation, code development processes) that can decrease the amount of bugs without ballooning development time.

Things that decrease bugs_created per unit_of_development_time.

Automated test suites with good coverage, or KASAN [1, mentioned on here recently]. Code scanners, languages that prohibit unsafe development operations or guard them more closely, and automated fuzzing too.

[1] https://www.kernel.org/doc/html/v4.14/dev-tools/kasan.html

Re:Amazon cargo plane crashes in Texas by henrikeh on Sunday February 24, 2019 @02:51PM (#19240229)
It is not about tools. It is about culture and process. Look at something like how SQLite for a real example of living up to the requirements of aviation software: 100 % branch coverage, extensive testing, multiple independent platforms in the test suite etc etc.

You don’t need anything fancy – but you do need to understand your requirements and thoroughly simulate and verify the intended behavior.

Re:Amazon cargo plane crashes in Texas by Klathmon on Sunday February 24, 2019 @01:02PM (#19239677)
Do you know that first hand, or is this a case that you can see the cracks in the software industry because you are part of it?

I worked as a mechanic years ago, and I feel the same way about cars as you (and I) do about software. Everything is duct taped together and it's a miracle any of it works as well as it does.

Safety regulations and tests are gamed to all hell, reliability almost always seems to come from an evolutionary method of "just keep using what works and change what doesn't" with hastily tacked on explanations as to why it works, and marketing is so divorced from reality that people assume significantly more is happening in the car than really is.

Now I don't know anything about civil engineering or aricraft, but I have a hunch it's not as well put together as it may seem at first glance.

I still think that software is behind those other fields, and I'm honestly still on the fence if regulations would significantly help or would just slow things down, but it's absolutely the "wild west" in software.

Re:Amazon cargo plane crashes in Texas by mruts on Sunday February 24, 2019 @03:22PM (#19240395)
I'm not a "real" engineer, but many of my cousins are (civil engineers) and everything about a bridge, say, is modeled and proven ahead of time.

I work as a developer and everyday I feel like this isn't the right the way to do it. I'm not sure what the right way is, but being a software developer I probably have less faith in it then the general population. Something just feels wrong about it, how we do things..

Re:Amazon cargo plane crashes in Texas by User23 on Sunday February 24, 2019 @05:19PM (#19240995)
Imagine building a bridge without a specification. It would be criminally irresponsible. It has been known for decades now that proper specification is absolutely necessary to produce correct software. This is practically a tautology, because there isn't a formally meaningful way to define "correct" besides "satisfies some specified behaviors." Good unit testing does this in an ad hoc way, because the tests serve as a (usually incomplete) specification of the desired behavior. That said we must remember that testing can never prove the absence of bugs, only their presence. The only practicable ways to prove the absence of bugs in nontrivial programs are automatic formal verification or constructive proof using formally defined semantics.

Of course for most commercial software correctness is so irrelevant that it's left undefined. All that matters is pleasantness, that is to say does it generally please the user, perhaps by attracting customers or investors.

Re:Amazon cargo plane crashes in Texas by ummonk on Sunday February 24, 2019 @07:17PM (#19241608)
Airplanes have software. It works very well without bugs. Because that is what is demanded in the aviation industry.
Re:Amazon cargo plane crashes in Texas by fma on Sunday February 24, 2019 @03:21PM (#19240393)
Look at the Equifax hack. Vulnerability was known but no one cared to apply the patch. In engineering, you chose 2 amongst being better, faster or cheaper.

It's clear in IT we always choose faster and cheaper. No one went to jail for the Equifax hack except that one low level manager for insider trading.

Re:Amazon cargo plane crashes in Texas by sidlls on Sunday February 24, 2019 @02:37PM (#19240143)
This industry has been around for 60 years, and has had the benefit for that entire time of the experience from the previous several hundred years of people developing what is modern engineering. It isn't really young or nascent anymore.

There are large sectors in this industry where rigorous engineering effort isn't really applicable. It seems to me, though, that this has effectively been used as an excuse to avoid any genuine rigor. It isn't helpful that so many programmers have such huge egos.

Re:Amazon cargo plane crashes in Texas by heavenlyblue on Sunday February 24, 2019 @01:22PM (#19239777)
Then you shouldn’t be a developer?
Re:Amazon cargo plane crashes in Texas by mruts on Friday March 01, 2019 @04:20PM (#19285358)
Do you have a better way of doing things? Because you formally prove that the code you write has no bugs? Give me a break. You are as bad as the rest of us. Maybe you haven't realized how bad you are, but that just means you have some learning to do.