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

Ted Kremenek kremenek at apple.com
Fri Nov 7 00:05:50 PST 2008


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.  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.



More information about the cfe-commits mailing list