[cfe-commits] [PATCH] Set region size in GRRegionVals transfer function

Zhongxing Xu xuzhongxing at gmail.com
Fri Nov 7 00:44:12 PST 2008


On Fri, Nov 7, 2008 at 4:05 PM, Ted Kremenek <kremenek at apple.com> wrote:

>
> On Nov 6, 2008, at 11:54 PM, Zhongxing Xu wrote:
>
>  Perhaps, but I think all the logic can be divided between the StoreManager
>> and GRExprEngine.  The StoreManager is responsible for reasoning about what
>> is valid memory, and GRExprEngine handles loads/stores.
>>
>> This job splitting is OK for me. But does it violates the rule that
>> 'StoreManager does no reasoning'?
>>
>>
> By "reasoning", I mean "reasoning about extents".
>
> Perhaps we should talk more about what the requirements would be for an
> out-of-bounds checker before deciding where its implementation pieces should
> be.
>
> From what I can tell, an out-of-bounds check has three components:
>
> (1) a location L, which is an offset within a region X
> (2) the extent of region X
> (3) some logic to determine if the location L is outside the extent of
> region X
>
> We need to decide if we currently represent (1) for the interesting cases
> that we are initially interested in going after.


I have some difficulty to understand this sentence. I think a we will just
get a location MemRegionVal with a out-of-bound ElementRegion, returned by
getLValue(). And nobody is aware of its illegality at that time.


> Right now locations are modeled using SVals.
>
> I think the consensus is that (2) is managed by StoreManager.
>
> For (3), we need to decide where this decision logic would go.  My guess
> was GRExprEngine, which would issue a series of "Assume" calls to the
> ConstraintManager to determine if the offset of L exceeded the extent X.
>  I'm not sure exactly what that would look like.
>

I'll try to scratch an implementation to see what indeed we need.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20081107/e7ea5267/attachment.html>


More information about the cfe-commits mailing list