[cfe-dev] Analyzer: Extract region-walking behavior from CallAndMessageChecker
Jordy Rose
jediknil at belkadan.com
Mon Jun 28 17:39:27 PDT 2010
I'll rewrite it during some random bit of downtime to only walk the known
subregions, so it doesn't get completely lost.
On Mon, 28 Jun 2010 15:54:37 -0700, Ted Kremenek <kremenek at apple.com>
wrote:
> I understand your point, but I think I still strongly disagree here.
>
> I'm fine with the checker behavior being controlled by an option, but
just
> having the code go in as is (with these obvious algorithmic performance
> issues) sets a bad precedent for how we think things should "get done"
in
> the analyzer. The current check should probably be changed as well
because
> of this reason.
>
> Implementing this the right way involves extending StoreManager with the
> right APIs so that the query can get executed efficiently. We shouldn't
> just hack things into the analyzer because it is immediately convenient,
> especially when doing it right isn't necessarily that hard. Having good
> design and thinking these issues out at the appropriate times is well
worth
> it in the long run, as hacks have a way of piling up.
>
> On Jun 26, 2010, at 10:33 PM, Zhongxing Xu wrote:
>
>> With a command line option, the user could decide to turn it on if he
>> can tolerate the cost and knows his code should not have uninitialized
>> fields.
>>
>> On Sun, Jun 27, 2010 at 1:23 PM, Ted Kremenek <kremenek at apple.com>
wrote:
>>> To clarify, I think I was trying to make two points. The first was
>>> that the direct walking was likely to be prohibitively expensive. The
>>> second was that the check was likely to yield many false positives.
For
>>> the first point, we can possibly deal with the efficiency problem by
>>> rephrasing the task as some kind of query on the StoreManager that we
>>> specifically have the StoreManager implement in some efficient way.
>>>
>>> On Jun 26, 2010, at 9:19 PM, Zhongxing Xu wrote:
>>>
>>>> Hi,
>>>>
>>>> I agree with Ted that such explicit walking each element could be
>>>> expensive. But if such check shows some value, we can conditionally
>>>> turn it on with a command line option like
>>>> '-analyzer-check-uninit-fields' and let the user decide.
>>>
>>>
More information about the cfe-dev
mailing list