← Back to context

Comment by samus

2 days ago

Static analysis has the big disadvantage that it can and will be ignored.

thats fine. you dont need to run static analysis on a quick program that you yourself write that, say, downloads a file off the internet and processes it, and you're the only consumer.

or a hpc workload for a physic simulation that gets run once on 400,000 cores, and if it doesnt crash on your test run it probably won't at scale.

if youre writing an OS, you will turn it on. in fact, even rust ecosystem suggests this as a strategy, for example, with MIRI.

  • Are you going to write a "quick program" in C, though? That is what we are comparing to, when we consider kernel development.

    I wouldn't argue that Rust is a good replacement for Makefiles, shell build scripts, Python scripts...

    An amazing thing about Rust, though, is that you actually can write many "quick programs" -- application level programs -- and it's a reasonably good experience.

How so? Because somebody forgot to run it before publishing a kernel release?

  • Because they can and will be ignored on a large scale unless the false positive rate is pleasantly low. And more importantly there is a large amount of existing code that simply doesn't yet pass.