On Wed, Jan 28, 2015 at 11:49 AM, Ji Park <jhp...@gmail.com> wrote:
>
> Hello, I've been hearing a lot of good things about Golang for a while and
> tried playing around with it and so far I'm loving it!
>
> I was just wondering, does anyone know if Golang can be a good fit for
> machines/systems resulting in failure can lead to catastrophe or death?
Speaking strictly for myself, I would hope that as much as possible
machines that can lead to catastrophe or death would not use
computers. And if they must use computers, I would hope that there
would be multiple levels of defense against very bad results, so that
there have to be multiple bugs at several levels before anything very
bad happens.
With regard to Go in particular, I'm not aware of anybody who has
tried to vet the code for this level of care. But then, I'm not aware
of anybody having vetted the average C++ compiler either. So the
question is: what is your alternative?
On 28 Jan 2015 at 23:35:54, Ian Lance Taylor (ia...@golang.org) wrote:
On Wed, Jan 28, 2015 at 11:49 AM, Ji Park <jhp...@gmail.com> wrote:
>
> Hello, I've been hearing a lot of good things about Golang for a while and
> tried playing around with it and so far I'm loving it!
>
> I was just wondering, does anyone know if Golang can be a good fit for
> machines/systems resulting in failure can lead to catastrophe or death?
While I agree with Ian that computers in life critical systems should be well thought out they are definitely a reality and in many situations we simply can't built systems without computers be it spacecraft, ABS systems in cars or even self driving vehicles. ...
So, imagine now the IoT is coming, and each and every big producer starts to ask you to fail less than9 times on 200 millions.
That is funny, what good are insurance companies then?
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
They do business. And they are not going to cover software which is mostly , sorry to say, bullshit.
I know, after 30 years of software which comes "AS IS" , "with no accountability",as the normal EULA says, people expecting it works can look strange.
But, when you buy a car, you don't want the cas says "we have a problem, windows is checking for a solution"....
This was acceptable when OS and software were doing mostly nothing impacting. If you want IoT, you need toface the fact you expect objects at your home to work. to be safe. To be stable.If you want to sell "home IoT", your software will need to work as good as the old appliances with no IoT.When I power up my light, it simply works. It works since 15 years, the same, 100% of time, 100% good.And I did no update. Seamless.
Either your IoT light will work the same, or the insurance will prevent me to use it, and I will think the insurance is right.Why should an insurance company introduce the concept of "bug" i devices which have, right now, 0 bugs at all?
On Tuesday, May 26, 2015 at 8:21:45 AM UTC+12, Uriel Fanelli wrote:They do business. And they are not going to cover software which is mostly , sorry to say, bullshit.Much embedded software is very low quality already, it will probably get worse with more people rushing in.
I know, after 30 years of software which comes "AS IS" , "with no accountability",as the normal EULA says, people expecting it works can look strange.We already have software in most of our home appliances. I don't know why you think it is any different.
But, when you buy a car, you don't want the cas says "we have a problem, windows is checking for a solution"....
I think many car companies already do updates over the air.
When I power up my light, it simply works. It works since 15 years, the same, 100% of time, 100% good.And I did no update. Seamless.Hopefully people can write code good enough to run a light bulb without formal verification.
Either your IoT light will work the same, or the insurance will prevent me to use it, and I will think the insurance is right.Why should an insurance company introduce the concept of "bug" i devices which have, right now, 0 bugs at all?This is clearly wrong, all products have defects, even current ones, this is what recalls are about.
The level of certification should match the level of safety required. Go does not currently cover the highest level of safety requirements.
// true.i
int main(void)
{
/*@ assert \true; */
return 0;
}
so this will work because it returns true
But, when you do like:
// false.i
int main(void) {
int x = 0;
/*@ assert x+1 == 0; */
return 0;
}
what you get using the analyzer is:
Assertion failed at line 7.
The failing predicate is: (x+1 == 0).
so this means you are writing pseudo-comments which some parser is going to verify with the remaining part of the code.
I don't think it would be such harder to implement in go, being honest.
Comments and code have a tendency to get out of sync. Do we have a tool to read these comment assertions and execute them? How do we verify this tool works correctly in all cases? In addition how do you cope with errors written by programmers in this new comment based language?
--
If you think how you do formal verifications , you are going to do something like that:
On Tuesday, 26 May 2015 15:13:03 UTC+1, Uriel Fanelli wrote:If you think how you do formal verifications , you are going to do something like that:
You keep using that term- I do not think it means what you think it means.
DO NOT USE GO WHEN HUMAN LIFE IS IN DANGER.
Hire someone who has many years of experience with life-critical systems. Then do EXACTLY what that person says.
It took ~20 person years to complete a formal verification of 7,500 lines of seL4 microkernel against a formal specification [1].