I find the basic idea of this project to be very compelling - I was thinking aloud on HN recently and arrived at roughly the idea this project is implementing. [0] With that said, I really dislike the way they're describing their project. When I read safe dialect of C , I first assumed they meant they had developed a safe subset of C, or perhaps a very similar language, like OpenCL C [1]. Instead, they developed a ne…
It seems like the pre- and post-conditions could be used to prove program correctness?
ZZ is a modern formally provable dialect of C
151–157 of 157 posts
Re: ZZ is a modern formally provable dialect of C
#152Earlier quoted context omitted.
it is https://devguard.io/ which is being rewritten from rust to ZZ in this branch https://github.com/devguardio/carrier/tree/zz
Very interesting. Can you tell us a little more about the reasons of the rewrite from rust?
Re: ZZ is a modern formally provable dialect of C
#153> where we still program C out of desperation I agree it's the standard and the only thing that actually works (author's words), but it's still a pleasure for me to write and have to deal with C (for embedded). I'd be desperate if I have to be forced to deal with huge different paradigms because pointer problems or insert-your-C-rant-here . C is not going to be replaced on embedded any moment soon.
I have an anecdote to share. I work in embedded space for a living. A web developer (which is quite funny) from another team somehow convinced our director to use Rust for a critical process that involved a lot of concurrent processing. Ok, I said, and began developing that process in Rust. I estimated that it took me about 10x the time to implement something than it would have taken if I did that in C. The reason fo…
Re: ZZ is a modern formally provable dialect of C
#154Earlier quoted context omitted.
(A now-deleted comment said it's disappointing that ZZ doesn't support whole-program correctness-proofs. I'll hang my reply here rather than delete it.) I should point out it's possible I completely misread the project summary. Perhaps it does support that after all. [0] I still like the idea though, and might try it out at some point. There's a lot of value in guaranteeing no undefined-behaviour in my code. Imagine…
I think NVidia's adoption of SPARK for security critical firmware is victory, specially since they also evaluated Frama-C and Rust as part of their selection process. Rust probably would have made it in the future, but it is still not mature enough to the domains NVidia intends to use SPARK on. https://blogs.nvidia.com/blog/2019/02/05/adacore-secure-auto...
Re: ZZ is a modern formally provable dialect of C
#155Earlier quoted context omitted.
I think NVidia's adoption of SPARK for security critical firmware is victory, specially since they also evaluated Frama-C and Rust as part of their selection process. Rust probably would have made it in the future, but it is still not mature enough to the domains NVidia intends to use SPARK on. https://blogs.nvidia.com/blog/2019/02/05/adacore-secure-auto...
Rust isn't aiming for formal verification, is it?