News for hackers. Stuff that matters.
Re:Boeing identifies new software problem on grounded 737 Max by coldpie on Thursday February 06, 2020 @01:15PM (#22258552)
In their defense, the software industry is a complete joke in terms of quality control. I hope that this and the spate of ransomware will wake the industry up to realize we need new processes, languages and tooling to make software provably correct. It's clear we can't use our existing languages and tooling to make high quality software. Realistically though, that's not going to happen. The smart move is to eliminate as much software from your life as possible. It's only going to get worse as decades of laziness catches up to us.
Re:Boeing identifies new software problem on grounded 737 Max by thawaway1837 on Thursday February 06, 2020 @03:47PM (#22260118)
This defense basically says that software engineering is far more of a joke than hardware engineering.

But it’s not a real defense for the Max because the problem with the Max is that Boeing has shifted a lot of the work from hardware to software.

This defense only punts the ball a few yards because the question now is why Boeing chose to shift a lot of the reliability from hardware, which this defense admits is better engineered, to software, which it admits is almost intrinsically worse.

If anything, this defense leads to the conclusion that the Max is an intrinsically unsafer plane, because it has shifted far more of the burden to software which is an intrinsically worse engineering discipline.

If it was just a matter of the software QA being rushed then the additional time gained by the grounding of the planes could solve the problem. But if it is software engineering itself which is the problem then no additional time will help unless it leads to shifting some of the burden of safely flying the plane from software to hardware, which doesn’t even appear to be an option Boeing has considered.

Re:Boeing identifies new software problem on grounded 737 Max by harikb on Thursday February 06, 2020 @04:35PM (#22260593)
This seems like a weird way to look at the problem. Hardware also has software/logic. The only reason it appears more stable is that people are shit scared of finding a bug that can't be fixed. If we delay the software release as long as a hardware development takes, with corresponding QA, I don't see why switching it all to hardware is going to make any more sense. Immutability is all it has, unless you are somehow implying that one can be hacked (by bad actors) and the other can't be.
Re:Boeing identifies new software problem on grounded 737 Max by nomel on Thursday February 06, 2020 @06:29PM (#22261591)
I've worked for a couple of fabless semiconductor startups. When fixing a hardware mistake costs millions for a new mask, there are bugs in all the silicon, even the big guys [1].

[1] https://www.theregister.co.uk/2018/01/26/cloudflare_crashes_...

Re:Boeing identifies new software problem on grounded 737 Max by bradstewart on Thursday February 06, 2020 @07:19PM (#22261920)
While I do agree that hardware engineering generally employs more verification and validation, look at the errata sheets for modern processors. They have a lot of bugs as well--most of which are patched in microcode (software) or handled by operating system kernels (also software).
Re:Boeing identifies new software problem on grounded 737 Max by Anarch157a on Thursday February 06, 2020 @07:34PM (#22262007)
> most of which are patched in microcode

Because most of it is software anyway. Unless the CPU is something ridiculously simple, like an 8-bit microcontroler, a lot of the instructions are executed by microcode stored in ROM on the CPU. What those patches do is load a replacement software in RAM at boot time.

Re:Boeing identifies new software problem on grounded 737 Max by m_fayer on Thursday February 06, 2020 @01:31PM (#22258749)
Watching Android descend from a place of dorky stability to sleek sealed glitch-city, kinda makes me think it's the institutions, as opposed to the tooling, that's behind the plunge in the quality of mainstream software.
Re:Boeing identifies new software problem on grounded 737 Max by jsight on Thursday February 06, 2020 @04:03PM (#22260256)
I can't agree. I've been using Android since the Nexus One days, and it is generally much more stable for me than some of those early devices.
Re:Boeing identifies new software problem on grounded 737 Max by shadowgovt on Thursday February 06, 2020 @03:28PM (#22259952)
Was Android the stable one? I recall relative to iOS that it was the one likely to be eating its entire battery in the early iterations.
Re:Boeing identifies new software problem on grounded 737 Max by peteradio on Thursday February 06, 2020 @02:13PM (#22259248)
Feed me features I shit backlogs.
Re:Boeing identifies new software problem on grounded 737 Max by salawat on Thursday February 06, 2020 @02:42PM (#22259544)
I couldn't help but laugh, because it is so damn true.

It's taken me a while to come to the realization that all project management is is a backlog manufacturing and prioritization layer that operates on top of actual software engineers.

Most just want to implement things, and don't care what it is they are implementing as long as they are getting paid.

Re:Boeing identifies new software problem on grounded 737 Max by kjs3 on Thursday February 06, 2020 @09:09PM (#22262607)
we need new processes, languages and tooling to make software provably correct

This is so not true.

Processes? Like T-CMM/TSM, FAA-iCMM, ISO 90003, TCSEC, TSP, etc., etc.? Languages? Like Ada, MISRA, Modula-2/IEC1131, Cyclone, etc., etc.? Tools? Like FRAMA-C, MALPAS, SPADE, SPARK, TLA+, etc., etc.?

The simple fact of the matter is that we've had all the processes, languages & tools to write high-reliability, secure code for decades. Go check out the CMU SEI for how long that one institution has been trying to get people to do the right thing.

The joke is that the software industry by and large wants to pretend we don't, and claim that there's some magical new tech that needs to get invented and when it arrives everyone will jump on it and suddenly software bugs will be a thing of the past. And every new tool, tech or whatever that shows up re-proves some unpleasant basic facts: writing secure, provable, reliable code is time consuming, usually difficult, which translates to relatively expensive. And the software industry doesn't want to hear that, or invest in it, and excuses it's miserable security record with "it's not us, the tech doesn't exist to do the job right".

As a sidenote, this is why I have a visceral distaste for the Rust people (the language seems fine). If they'd spent those (presumedly) thousands of man years building on and improving Ada instead of being all NIH averse we'd be much further down the road. They could have participated in the process and gotten their wish list included in the Ada-2012 standard and built on 35+ years of experience. But, hey, it's more fun to start from scratch every decade or so.

Re:Boeing identifies new software problem on grounded 737 Max by starfallg on Thursday February 06, 2020 @01:38PM (#22258830)
Nah. Just introduce 'modern software development methodologies'. Put in a CI/CD pipeline and Blue/Green with Canary. Roll back the release on hull loss. /s
Re:Boeing identifies new software problem on grounded 737 Max by nerpderp82 on Thursday February 06, 2020 @02:04PM (#22259133)
The snark is not warranted. Those techniques are absolutely fine when you are building mail order catalogs on the internet.
Re:Boeing identifies new software problem on grounded 737 Max by Waterluvian on Thursday February 06, 2020 @02:30PM (#22259409)
I think the underlying issue is that when it comes to safety, privacy, and security, even if people aren't dying in a plane crash, you still need to do it with a basic level of competence. You cannot roll back a privacy leak.

Now if you're talking about features that don't touch these things, go nuts. And there lies a second issue: the identification and distinction between what stuff is "go nuts" and what stuff is "do it right the first time". You can't approach every project with the latter or you'll waste so much time in the design phase when really you should just throw your new CSS theme out there and see how it goes. But you just can't approach the "account creation" feature the same way.

Re:Boeing identifies new software problem on grounded 737 Max by ikiris on Thursday February 06, 2020 @06:10PM (#22261451)
Until privacy leaks have more than 0 consequences, why would anyone care to prevent them?
Re:Boeing identifies new software problem on grounded 737 Max by catalogia on Thursday February 06, 2020 @09:12PM (#22262625)
Basic morality? Do you consider yourself a good person? Do you do the right thing, even when nobody is forcing you to? Do you steal when nobody is looking?

And yes, corporations aren't people, corporations don't have morality, I've heard all those excuses. Those corporations are comprised of people and those people should not be held to a lower standard.

Re:Boeing identifies new software problem on grounded 737 Max by whynaut on Thursday February 06, 2020 @02:30PM (#22259408)
The "on hull loss" bit addresses the fact that the discussion is around much more critical software. I didn't read it as snark.
Re:Boeing identifies new software problem on grounded 737 Max by avh02 on Thursday February 06, 2020 @03:11PM (#22259809)
The snark is warranted if you call yourself (generic yourself, not you in particular) a software "engineer" - but yeah, if your ego's content with "developer" then the snark's not warranted.
Re:Boeing identifies new software problem on grounded 737 Max by jimmaswell on Thursday February 06, 2020 @04:57PM (#22260836)
It's the job title the company gave me so I use it. No deeper meaning to me.
Re:Boeing identifies new software problem on grounded 737 Max by shadowgovt on Thursday February 06, 2020 @03:26PM (#22259944)
Even NASA shipped a computer with known severe failure modes for the Apollo vehicle.
Re:Boeing identifies new software problem on grounded 737 Max by thawaway1837 on Thursday February 06, 2020 @03:50PM (#22260141)
NASA was also doing things that were never done before.

The 737 Max is much worse at doing things that were done much better for decades before it.

Re:Boeing identifies new software problem on grounded 737 Max by fsh on Thursday February 06, 2020 @03:47PM (#22260120)
This was 60 years ago in a desperate race with the Soviets and with an expendable flight crew. Hardly comparable conditions to commercial aviation.
Re:Boeing identifies new software problem on grounded 737 Max by ClumsyPilot on Thursday February 06, 2020 @05:21PM (#22261075)
You can have a known risk/failure mode, and risk manage it.

It's another matter entirely to pass on the flawed device to a third party with no preparations and warning. Then people die.

Re:Boeing identifies new software problem on grounded 737 Max by GiorgioG on Thursday February 06, 2020 @06:01PM (#22261383)
> Those techniques are absolutely fine when you are building mail order catalogs on the internet.

Given that attitude, it's no wonder 99% of software out there is utterly bug-ridden.

Re:Boeing identifies new software problem on grounded 737 Max by gmanley on Thursday February 06, 2020 @05:24PM (#22261114)
Not all software has the same level of criticalness. The difference between a bug in an airplane vs one in a game or entertainment software is gigantic. Sometimes it really is more important to get the software out quicker vs it being bug free. Plus, formally provable software exists and is used in some mission critical applications including some Airbus software. It's just that it takes a lot longer to develop. These problems are more a business and process issue, as in Boeing prioritizing speed over quality.
Re:Boeing identifies new software problem on grounded 737 Max by SilasX on Thursday February 06, 2020 @02:00PM (#22259085)
The "software industry in general", sure, but my understanding is that any flight-critical software goes under a much more rigorous testing regime and uses much better practices the average software project. It's probably why such issues were caught so early here.
Re:Boeing identifies new software problem on grounded 737 Max by jffhn on Thursday February 06, 2020 @03:56PM (#22260190)
>critical software goes under a much more rigorous testing regime

Testing is not only not enough, it's also not required :) (as Dijkstra said, it can only show the presence of bugs, not their absence)

For example, the software for some automated subways in France has never been tested, only proven correct (source: https://www.youtube.com/watch?v=jc9QmqKIUj4&t=54m50s).

Similar formal methods are used for critical software pieces in Airbus aircrafts (source: the same speaker as for the linked video, but I don't remember which talk that was in).

Re:Boeing identifies new software problem on grounded 737 Max by jammygit on Thursday February 06, 2020 @06:24PM (#22261544)
When proving its correct, isn’t there always the possibility that the proof abstracted away some real world nuance into an assumption, and that assumption could be wrong?
Re:Boeing identifies new software problem on grounded 737 Max by jffhn on Thursday February 06, 2020 @07:15PM (#22261889)
Yes, I guess the proof is only relative to the formal spec, if the spec (formal or not) is nonsense it's another problem (so you might not have to test the program, but still have to test the complete system).

But I guess (again) that having formal specs getting proven helps to avoid inconsistent specs. I recall a talk by Martyn Thomas where he said that with these methods it was harder to get programs to compile (for example, the compiler could complain if it detected an inconsistency, either between the spec and the program or within the spec itself).

Re:Boeing identifies new software problem on grounded 737 Max by DigitalBison on Thursday February 06, 2020 @02:46PM (#22259574)
This topic reminds me of this relatively old (but still super interesting) article about the team that worked on the space shuttle's onboard computer systems and the rigorous processes they followed to ensure correctness and safety: https://www.fastcompany.com/28121/they-write-right-stuff.
Re:Boeing identifies new software problem on grounded 737 Max by Seenso on Thursday February 06, 2020 @04:03PM (#22260264)
> the team that worked on the space shuttle's onboard computer systems and the rigorous processes they followed to ensure correctness and safety

Those processes are expensive. It'd imagine that they're a huge political problem to maintain, giving cost-cutting pressures and the temptations of COTS [1].

[1] https://www.faa.gov/aircraft/air_cert/design_approvals/air_s...

Re:Boeing identifies new software problem on grounded 737 Max by nealmcb2 on Saturday February 15, 2020 @10:18AM (#22335753)
Compliance with SEI CMMI Level 5 probably is expensive. While looking for more data I noted that several Boeing units are at Level 5. And I also found that between 2008 and 2019, about 12% of appraisals given across all industries and countries were at maturity levels 4 and 5, and hundreds are at Level 5 (more than Level 4), according to CMMI Institute: https://cmmiinstitute.com/resource-files/public/cmmi-adoptio...

So it all makes me wonder about the official maturity of Boeing's 737 team, and also how much that rating relates to actual software quality and safety objectives (as apparently achieved in the space shuttle work)....

Re:Boeing identifies new software problem on grounded 737 Max by DigitalBison on Thursday February 06, 2020 @05:02PM (#22260886)
Oh totally, I can't dispute that. It's just good reading in general, but is more of a response to the grandparent comment stating "the software industry is a complete joke in terms of quality control". I think that's probably not a completely off-base assessment of quality control on average in the tech industry, but the point is it's not like no one knows how to do better; rigorous QA processes exist, but it's a huge tradeoff between cost/agility/etc and the expected cost/damage of not getting it right.
Re:Boeing identifies new software problem on grounded 737 Max by bradknowles on Thursday February 06, 2020 @06:06PM (#22261411)
There are SEI Level 5 operations in the world. They do exist. Or at least, we've been told they do.

But they are also super expensive.

And no one has any money to spend on anything like testing or quality any more.

Re:Boeing identifies new software problem on grounded 737 Max by bronson on Thursday February 06, 2020 @02:56PM (#22259675)
After 350 people die is early??
Re:Boeing identifies new software problem on grounded 737 Max by SilasX on Thursday February 06, 2020 @03:30PM (#22259973)
Okay, I think that's an unhelpful way to put it, but it's still worth addressing, and there's a lot to unpack here, so here goes.

My original point was that flight critical software shouldn't be lumped in with the bugs-typical world of software. I still say that's correct.

But "bug" has a range of meanings. From what I read of the story of the original fatal error on the 300 MAX, the software was not buggy in the sense of "deviating from specification". It's just that -- as it turns out -- the specification was bad, and the MCAS should not have overridden pilot input when it did.

In a sense -- the one I consider most important -- that matches my model of flight-critical software. As software, they made absolutely sure that, in every case, it did what it was intended to; to the extent that it was in error, it was not in the sense of "we failed to make the software do what the spec says".

OTOH, I agree that "bug" is taken more broadly in software than the sense I was using here, that there usually isn't such a clean ("Waterfall") separation between "specifying what the software should do" and "ensuring that it does that" -- there's a collaborative process of ferreting out the implications of "what the system should do at what points".

In these latest events, it looks like the bug was in the narrower sense I meant above, of "it doesn't meet the spec", and that bug was found before deaths. From the article:

>The problem was that an indicator light, designed to warn of a malfunction by a system that helps raise and lower the plane’s nose, was turning on when it wasn’t supposed to, the company said.

Now, in fairness, that's a much later discovery than my optimistic model held, but still far earlier than "being used for flying the public around", as (the analog of) might happen with the software industry more generally.

Re:Boeing identifies new software problem on grounded 737 Max by thawaway1837 on Thursday February 06, 2020 @03:54PM (#22260179)
The only issue is here is that the proximate cause of failure was what you’re saying.

What is worrying is that there could be many other potential sources of failure which simply didn’t trigger because the MCAS situation was so bad it led to 2 plane crashes before they even had a chance to bring down some planes.

In other words, if you have 2 bugs, one with a 1/100 chance of triggering and the other with a 1/1000 chance of triggering, by the time you hit 500 attempts, odds are the first bug triggered twice, while the second didn’t even once. So you solve the first bug, that still leaves you with a problem that has a 1/1000 chance of triggering, when the expectation is that bugs should only trigger at worst 1/10000 times.

Solving the MCAS issue is not by itself a reliable indicator that this is a safe plane to fly, especially since we know there are many fundamental procedural reasons to be worried about the quality of the plane.

Re:Boeing identifies new software problem on grounded 737 Max by SilasX on Thursday February 06, 2020 @04:04PM (#22260270)
Sounds right to me! My point is just, it doesn't feel right to lump this kind of failure in with "lol all software is super buggy and this is no exception". Yes, there was a failure here; no, it didn't look anything like "ohhh yeah pointers are super hard to get right".
Re:Boeing identifies new software problem on grounded 737 Max by jsjohnst on Thursday February 06, 2020 @06:08PM (#22261430)
> the MCAS should not have overridden pilot input when it did

The entire purpose of MCAS was to override pilot input as the typical instincts of a trained 737 pilot is to do the wrong thing. The failure was not handling edge cases (conflicting or missing sensor data) and no clear way to turn off the system when it was failing.

Re:Boeing identifies new software problem on grounded 737 Max by brokenmachine on Thursday February 06, 2020 @11:06PM (#22263136)
So, what you're saying is that MCAS should not have overridden pilot input when it did?
Re:Boeing identifies new software problem on grounded 737 Max by jsjohnst on Friday February 07, 2020 @09:24AM (#22266180)
So what you’re saying is you have a need to just be “right“ without also understanding the back story behind it?

(I didn’t say anything about GP being wrong, I simply gave more details about the how and why)

Re:Boeing identifies new software problem on grounded 737 Max by salawat on Thursday February 06, 2020 @02:38PM (#22259499)
>It's clear we can't use our existing languages and tooling to make high quality software.

Gotta fundamentally disagree with you right there. We absolutely can make high-quality software with our current tooling. The issue is that doing that is expensive and time consuming, and the Market optimizes on good enough to be sold and not dropped.

This expense and difficulty isn't an inherent fault of the tools, but rather the monstrous other side of the coin in proving what your system isn't.

There are many implementations that are composable to generate an end result, the trick is to expend the energy to ensure you've made the specific one that also doesn't run into undefined behavior, domain specific or otherwise.

You will never escape from the tyranny of having to clearly communicate to a perfectly obedient machine exactly what it is you want it to do; part of which is being able to identify when you don't have all your requirements right.

Re:Boeing identifies new software problem on grounded 737 Max by thawaway1837 on Thursday February 06, 2020 @03:57PM (#22260199)
Airbus has been doing it for a while. The big difference between Airbus and Boeing has been how much more reliance Airbus places on technologies like MCAS vs straight up pilot skill.

Airbus has designed their planes to counteract bugs by adding tremendous amounts of redundancies. The Max is Boeing’s effort at creating an Airbus like plane without the redundantsafety features.

Re:Boeing identifies new software problem on grounded 737 Max by rayhendricks on Thursday February 06, 2020 @06:29PM (#22261590)
That is why I refuse to fly in anything that has Boeing on the side of it. Based on the 737 max fiasco and previous incidents they it looks like they are willing to make compromises in safety for profit. The regulatory agencies including the FAA here in the USA are captured and thus irrelevant, and the attempt to fix them died https://en.m.wikipedia.org/wiki/Regulatory_capture#Federal_A...

Unless we see fines based on a percentage of revenue or the CEO/Board of Boeing being thrown in prison, then we won’t see change.

Re:Boeing identifies new software problem on grounded 737 Max by Pmop on Thursday February 06, 2020 @03:30PM (#22259962)
Research on software reliability is plentiful and throughful, and there are existing tools to use such knowledge in a way to ensure safety of critical systems, from development to deploy. The thing is that they most likely ran their calculations and concluded that it's more profitable to cheap out on software development and QA, and pay for insurance or fines, should anything go wrong later. Engineers who devoted their time and effort to learn aforementioned techniques are very unlikely to work for 9$/h, it's more profitable and less stressful to go wash cars or whatever.
Re:Boeing identifies new software problem on grounded 737 Max by anshou- on Thursday February 06, 2020 @02:33PM (#22259451)
The people, processes, languages, and tools aren't the root problem. The root problem is always time and money.
Re:Boeing identifies new software problem on grounded 737 Max by rfmw19 on Thursday February 06, 2020 @05:19PM (#22261059)
> The root problem is always time and money.

I agree with you. However, if you're not some high level manager who controls this, what's the next best thing you can do?

I think most problems are less technical and are more about people and processes. You can still argue you don't have enough influence there, and that's completely possible and realistic. But that should be where we direct attention.

Yes, some technical advances in better tools and languages that provide stricter proofs and so on are needed and will help. But ultimately it's still the people that need to learn, use, and enforce the processes.

Re:Boeing identifies new software problem on grounded 737 Max by robocat on Thursday February 06, 2020 @04:01PM (#22260242)
> In their defense, the software industry is a complete joke in terms of quality control.

My dishwasher stopped working today. Last week I had to replace a wheel bearing in my van ($900). I just got a refund for a pond aerator that stopped working after a few weeks. And the head came off my plastic toy.

Hardware fails all the time: does that mean I can generically say all manufacturing has shitty QC?

Re:Boeing identifies new software problem on grounded 737 Max by blt on Thursday February 06, 2020 @05:18PM (#22261048)
I'd say the aerator and toy are analogous to software bugs, but the wheel bearing is a wear item. Even the best-engineered hardware has parts that wear out. That kind of planned maintenance has no equivalent in software.
Re:Boeing identifies new software problem on grounded 737 Max by pinkfoot on Thursday February 06, 2020 @02:10PM (#22259205)
In our defence, our customers are a compete joke in terms of the price they are prepared to pay for quality sfotware.

See MCAS programmers at $9/h.

Re:Boeing identifies new software problem on grounded 737 Max by dotancohen on Thursday February 06, 2020 @02:38PM (#22259509)
I just checked and it is true. The subcontractors who wrote the MCAS software were paid $9/h:

    > Increasingly, the iconic American planemaker and its
    > subcontractors have relied on temporary workers making
    > as little as $9 an hour to develop and test software,
    > often from countries lacking a deep background in
    > aerospace -- notably India.
https://www.bloomberg.com/news/articles/2019-06-28/boeing-s-...
Re:Boeing identifies new software problem on grounded 737 Max by salawat on Thursday February 06, 2020 @02:48PM (#22259599)
Note those engineers (HCL) only worked on the Multi-Function display code. I don't have the article on hand, but they did ascertain at one point that the MCAS code was written in house. I'll try to find the article again. I think it was Seattle Times.

Found it. Was Bloomberg. Here is the old thread.

https://news.ycombinator.com/item?id=20309052

Re:Boeing identifies new software problem on grounded 737 Max by thawaway1837 on Thursday February 06, 2020 @03:58PM (#22260216)
It’s a lot more comfortable to blame Indian engineers (and of course the HN crowd loves that explanation, no matter how invalid it is) than to place the blame where it belongs. Squarely on Boeing management.
Re:Boeing identifies new software problem on grounded 737 Max by slumdev on Thursday February 06, 2020 @03:19PM (#22259872)
It doesn't mean much that the software was written in-house.

Boeing has literally relocated their plant operations cross-country in the past in order to break the workers' unions.

Just think about how much pressure they can exert on a non-union profession like software development.

Re:Boeing identifies new software problem on grounded 737 Max by anticensor on Thursday February 06, 2020 @03:28PM (#22259953)
That is just enough for one employee.
Re:Boeing identifies new software problem on grounded 737 Max by coldpie on Thursday February 06, 2020 @03:55PM (#22260183)
That's still an industry problem. No one hires doctors or architects for $9/h.
Re:Boeing identifies new software problem on grounded 737 Max by PeterisP on Thursday February 06, 2020 @05:19PM (#22261060)
If you go for countries with lower wages (just as Boeing did for engineers), you definitely can hire doctors and architects for $9/hour or even less; as $9/h is more than the average doctor or architect gets paid there, you could definitely pick some who are quite decent.

E.g. just to use a random example, Russian statistics show that the average pay of an architect is something like $800/month in many regions - in some more, in some less, but definitely well withing $9/hour; and for doctors in regions outside Moscow it's something roughly similar; Moscow seems to get something like 2200$/month in the average statistics so that's more than $9/hour if they're working sane hours.

Re:Boeing identifies new software problem on grounded 737 Max by reilly3000 on Thursday February 06, 2020 @04:31PM (#22260558)
No new processes needed. ISO 90003 covers all kinds of software engineering practices that ensure quality and correctness. I wish more firms used what is already out there.
Re:Boeing identifies new software problem on grounded 737 Max by purpleidea on Thursday February 06, 2020 @05:24PM (#22261109)
Provably correct software (and memory and type safe languages!) are both important aspects. But they can still cause you to die in a software bug. The third and most important aspect is that the code must be viewable by any third party or individual. Open source here would be ideal, but at a bare minimum, we should be allowed to see the code that our lives depend on.