Re: What is your philosophy? Tracking or Static?
On Wed, May 25, 2011 17:45, Dan Zuras Intervals wrote:
> Which is more imformative? The one that correctly tells
> us that SOME calculation was undefined even though it did
> not participate in the final result? Or the one that WAS
> the final result?
> Note that the answer is NOT a slam dunk. It COULD be that
> one of the unselected answers WAS unselected due to a bug
> in the code as easily as because the programmer always
> intended that it not be selected. Tracking warns us of
> both the bug & the false positive. Static ignores both.
Nobody can guarantee that a program works correctly though it is buggy.
Thus using potentially buggy programs to argue for a feature is misdirected.
The standard is not supposed to be an optimal debugging tool, but to
provide the best possible relaible answers to correct programs.
Therefore a version that returns a result which tells us that SOME
calculation was undefined even though it did not participate in the final
result is inferior to a program that gives a good enclosure by ignoring
the buggy part since it is irrelevant.
Indeed, a buggy part that is _always_ irrelevant does not change at all
the complete reliability of an otherwise reliable code.
Only if the bug shows up in a calculation where there is no guarantee that
the buggy calculation is irrelevant, it needs to be reported by a flag -
and this is the case in the static version.