[Soot-list] about Heros

Bodden, Eric eric.bodden at sit.fraunhofer.de
Fri Apr 19 05:37:10 EDT 2013


Hi Zhang.

IFDS formulates context-sensitive analysis in such a way that a context is characterized by domain values, not by (method-signature based) calling-context strings. You should hence design your abstract domain accordingly. For instance, in case you really need a calling-context string then your domain should hold a (bounded) stack of those strings.

Eric



On 18.04.2013, at 17:46, Zhang Yufeng <yuffonzhang at 163.com> wrote:

> Hi Eric,
> I am using Heros in my project.
> I have two questions about the "context-sensitive" problem.
>  
> The first question:
> In my IFDS problem,
> in implementing the function
> public FlowFunction<Local> getNormalFlowFunction(Unit curr, Unit succ) {}
> I need to know the context about where the method including 'curr' is invoked.
>  
> In my problem, the operations on the Domain D for the same unit are different in different context.
> For example, in the following fuction:
>  
> void foo() {
> obj1=obj2;
> }
>  
> for statement
> obj1=obj2;
>  
> the operation on the 'facts' in the domain 'D' is different in the different context (where the function foo() is invoked).
>  
> But in the function
> public FlowFunction<Local> getNormalFlowFunction(Unit curr, Unit succ) {}
> there is no information indicating that the curr unit is encountered under what context.
>  
> Can I do this in Heros?
>  
>  
> The second question is also about the context-sensitive problem.
> After I get the results by solving the IFDS problem.
> I can get the result at each unit by using:
> solver.resultsAt((Stmt)unit);
> right?
> My question is:
> does Heros keep the context-sensitive information in the results?
> In some cases, the results at the same unit are different in different context.
> How can I get this from Heros?
>  
> I don't know whether I make it clear.
>  
> Thanks.
> Best.
> Yufeng
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list

--
Eric Bodden, Ph.D., http://sse.ec-spride.de/ http://bodden.de/
Head of Secure Software Engineering Group at EC SPRIDE
Tel: +49 6151 16-75422    Fax: +49 6151 16-72051
Room 3.2.14, Mornewegstr. 30, 64293 Darmstadt



More information about the Soot-list mailing list