|
|
|
|
|
by Ygg2
407 days ago
|
|
> Software written in Rust also experiences safety issues. Yes. And? Seatbelts and air bags all experience safety issues, and general public was against them for a very long time. It doesn't mean they don't increase safety. Or that because you could fall into volcano you should abolish seatbelts. How about for start software with no memory errors? How about more XSS and less UAF? Also, not even formal proofs are enough. A smart enough attacker will use the gap between spec and implementation and target those errors. And while I agree we need more formal proofs and invariant oriented software design, those options are even less popular than Haskell. |
|
"Formal verification" literally means that the implementation is proven to satisfy the formal specification, so by definition there won't be any gaps. That's the whole point of formal verification.
But you have a point in that there will still be gaps -- between specification and intent. That is, bugs in the specification. (Or maybe you mean "specification" to be some kind of informal description? That's closer to intent than an actual specification which in the formal verification world is a formal and rigorous description of the required behavior.) Though those bugs would likely be significantly less prevalent .. at least that's the expectation, since nobody has really been able to do this in the real world.