
On Fri, Sep 11, 2009 at 3:06 AM, Brian Ravnsgaard Riis <brian@ravnsgaard.net> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Daniel Hulme skrev:
On Wed, Sep 09, 2009 at 05:54:13AM -0700, Vinnie wrote:
"Static analysis means analyzing code at or before compile-time to check for correctness. Static analysis consists mostly of making sure SQLite compiles without warnings, even when all warnings are enabled.
We cannot call to mind a single problem in SQLite that was detected by static analysis that was not first seen by one of the other testing methods described above.
It sounds like they're saying that no SQLite developer has ever made a change (even locally) that resulted in the code failing to compile. It sounds like they're saying the type-checker has never informed them of a bug in their code - I know C's type system is hardly worthy of the name, but still, these are pretty impressive claims. I don't think I can even claim to have worked on a project for a day without the compiler informing me of a problem in my code like the wrong number of *'s, assigning a value to a variable of the wrong type, forgetting the closing brace, or something similar; and I know I'm not a particularly error-prone programmer.
Actually, I believe they're claiming that they more heavily rely on a rather impressive unit- and regression testing scheme than on compiler warnings. No warning has ever informed them of a bug that their regression tests would not have caught.
If the "we want no warnings dammit" crowd main argument is "at my company we have zero-warnings policy, we can't do anything about it" then arguing whether or not any particular warning should be addressed is pointless (OTOH, I'd bet that no company has zero-warnings policy because some warnings can't be dealt with any other way but by disabling them.) Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode