[Soot-list] How verify array index value is within array bounds?
John Dean
jdean4 at kc.rr.com
Thu Jul 19 18:27:27 EDT 2012
Hello,
I'm trying to verify that an array element access is safe in terms of the
index being within the bounds of the array.
In exploring the soot api, JArrayRef looks promising, with its getBase and
getIndex methods. Is there a way to get the size of the array, so I can
compare the index to it?
Or is there a better way to solve my problem? I see that there are
ArrayElement and ArrayBoundsChecker classes, but their methods don't look
all that promising to me.
Thanks,
John
From: soot-list-bounces at sable.mcgill.ca
[mailto:soot-list-bounces at sable.mcgill.ca] On Behalf Of Z
Sent: Thursday, July 19, 2012 5:44 AM
To: Soot List
Subject: [Soot-list] Using SOOT's dataflow classes for static numeric
analysis that has infinite-height abstract domain and needs widening
operator for termination
Hello,
Could you tell me please, how to use SOOT's dataflow framework to infer
properties that can not be represented by the Flowset interface ?
For example, to implement a simple numeric analysis like interval analysis
(which infers the possible interval range of each numeric variable at each
program point), it seems no more possible to use directly the generic
ForwardAnalysis class, since the iteration strategy of the class assume that
the height of the lattice is finite, whereas in most numeric analysis, the
domain is not finite and the termination condition is ensured by a
non-trivial widening operator.
So if I understand correctly, one has to overload the doAnalysis of
FowardAnalysis for writing a static numeric analyses?
Thanks for your ideas.
Zell.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20120719/098be783/attachment.html
More information about the Soot-list
mailing list