如何分析上下文Java方法?

时间:2013-10-17 15:30:25

标签: java static-analysis

我正在尝试执行以下操作:对于给定的Java方法,我想查看此方法是否可以在某些上下文中使用并且在那里是正确的,即是否存在类,字段,方法的某些定义,等等,其存在使这种方法正确。例如,方法

int m() {
    A a = new A();
    return a.value() + 1;
}
例如,当定义类A时,

是正确的,此类具有名为value的公共方法,并且该方法返回int。另一方面,对于

int m() {
    A a1 = new A();
    int n = a1.value();
    A a2 = new A();
    String s = a2.value();
    return s.length() + n;
}

没有方法可以正确的上下文。我知道这个问题可能会变得有点过于宽泛(以及理论上的问题),但总的来说,我该如何处理这类问题呢?首先,我知道应该进行某种类型检查和控制流分析。不过,我不确定是否还有这一切。

0 个答案:

没有答案