3 ms·
Also Morello prototype architecture / CHERI could well just end up enforcing this all at the hardware level and make language-level safety a largely moot point.
by slimsag 3y ago
Also Morello prototype architecture / CHERI could well just end up enforcing this all at the hardware level and make language-level safety a largely moot point.
- MattPalmer1086 3y agoWell, if you like crashy programs as opposed to insecure ones, sure! CHERI would stop memory issues being exploited, but it won't make your program work correctly when those same errors are encountered.
- saagarjha 3y agoI don't think there is a language that can guarantee correct operation when you write bugs in it ;)
- MattPalmer1086 3y agoTrue, but you can use languages that avoid whole classes of bug! I guess my only point is that CHERI may protect you from the worst abuse of those bugs, but it still doesn't mean you shouldn't use something that doesn't suffer from them in the first place!
- slimsag 3y agoHow far should one go with that line of thinking? Should we all be using formally verified C that e.g. the aerospace industry uses? It can prevent whole classes of logic bugs that languages like Rust couldn't dream of
- MattPalmer1086 3y agoObviously, you don't need to do that for the majority of things. My point is much simpler, if you can use something that removes bugs with no appreciable additional effort (or actually less effort), why wouldn't you?
- kragen 3y agono, but you can prove the absence of some bugs at compile time, so you don't have to figure out at run time what to do when they occur exactly how far that can go is a matter of debate (it clearly cannot cover all possible bugs, because people have legitimate disagreements about whether a given operation is a bug or correct) but it can certainly cover the bugs cheri can detect
- lvass 3y agoCrash on memory issues is the ideal, far better than having to borrow check, if you also get remotely sane crash reports. Manual memory management often leads to faster and simpler programs than RAII/BC, they're just harder to debug on current hardware.
- saagarjha 3y agoMorello provides some safety mechanisms, but it doesn't solve all problems. It only covers certain types of memory corruption issues, for example.