soot

    2热度

    3回答

    我在我的应用程序(它使用烟灰处理字节码)中发现了一个只在特定字节码指令中出现的错误。 我想为该特定情况创建一个测试。但是,我无法可靠地编写测试代码,它将编译为期望的字节码,然后触发错误。 这是我尝试触发错误: public void updateRhsOnIfEq() { int x = 15; int y = AircraftControl.readSensor(0);

    1热度

    1回答

    我已经看过this question,但图形表示并不完全符合我的要求。 有没有像JavaScript这样的工具,给你一个中间表示,你可以玩?或者,有没有一个Javascript - > Java的字节码 - > JavaScript转换器? (这样我就可以使用SOOT和Java-字节码来完成我的转换并将其恢复为Javascript)

    1热度

    3回答

    我正在使用SOOT框架进行某些静态分析。但是,有时分析需要几个小时,我想设置一个超时来停止分析,并用另一个程序继续分析。 为了实现这种行为我在一个线程中运行分析: thread = new Thread(new Runnable() { run(){ buildCallgraph(); })}; ! buildCallgraph()方法由SOOT提供,我没有机会 来改变它。 ! 目前我不知道如

    1热度

    1回答

    我正在尝试使用soot来测量特定类中每个函数的执行时间。我曾试着阅读Eric Bodden的Soot Framework的所有教程。 我已经想出到目前为止是这样的, package test; import java.util.Map; import soot.Body; import soot.BodyTransformer; import soot.PackManager; im

    1热度

    1回答

    使用煤烟框架(v.2.5.0)我试图加载某一类: SootClass clazz = Scene.v().loadClassAndSupport("example.MyClass"); 在调用Scene#loadClassAndSupport类example.MyClass不是在场景中 - 这是正确的。 该类也不存在于烟尘类路径中,并且上面的语句抛出RuntimeException,告诉该类无

    3热度

    1回答

    我想弄清楚如何在现有项目(metacircular解释器)中使用煤烟。具体来说,我想使用Soot将java字节码转换为我可以解释的方便的3地址代码(Jimple或Shimple)。我可能想在以后做更多的事情,但现在我只想要转换。 执行此翻译的最佳方式是什么?煤烟似乎是一个极大的相项目,该项目为吨的功能,但我真的只需要一个单一的方法 compileClass: Byte[] -> ShimpleCl

    1热度

    2回答

    我试图执行一个程序内分析,为每个方法计算该方法可能抛出的异常集,包括通过throw语句显式抛出的运行时异常。 到目前为止,我完全失去了如何开始与SOOT。任何人都可以给我第一个提示?

    0热度

    1回答

    我正在尝试使用Soot的桨框架为具有Java代码的20KLOC-50KLOC的android应用程序执行上下文敏感的“指向”分析。由于应用程序没有主要方法,因此我修改了soot以拥有多个入口点。当我运行分析它抛出以下异常 Exception in thread "main" java.lang.RuntimeException: Value 65543 was too large in doma

    -1热度

    1回答

    我正在使用soot来检测应用程序的类。但是我发现可以动态地用它来测试类。煤烟只检测静态链接,这会导致动态加载程序失败。所以我必须检测程序中动态加载了哪些类。假设我没有选择根据实际原因对所有班级进行测试。例如,我必须整个JDK需要花费数小时。因为在运行时可能会加载JDK类。 我从这个工具/方法的最终目标是给我一个程序使用的所有类的完整名称。

    0热度

    1回答

    我正尝试使用Spark(在Soot -Eclipse框架中)为Java代码生成调用图。我从HelloWorld开始。即使对于这个小例子,它看起来像系统内存是不够的。 Soot has run out of the memory allocated to it by the Java VM. To allocate more memory to Soot, use the -Xmx switch