gpt4 book ai didi

java - java 文件的向后切片生成

转载 作者:行者123 更新时间:2023-11-30 03:47:26 25 4
gpt4 key购买 nike

我有一个java文件,我想获取对特定行(向后切片生成)结果有影响的所有行。我知道解决方案,但是有没有 java 代码可以做到这一点?

作为示例,请考虑以下代码:

System.out.println("Start")
Random r = new Random();
int i = r.nextInt(10);
int n = 0;
if(i<8)
{
n = 1;
System.out.println("In if");
}
int j = n * i;

我需要一个在运行第 10 行时找到以下行的代码:

Random r = new Random();
int i = r.nextInt(10);
int n = 0;
if(i<8)
{
n = 1;
}
int j = n * i;

最佳答案

似乎讨论理论方法的学术论文多于实际的实现。 (特别是在 Java 中)

您可以尝试以下选项之一:

分析单线程程序:

来自hammacher( @github)的

Java Slicer。据我记得,在您从程序中创建跟踪后,它会为您提供一个 java 字节码切片。

另请参阅IBM Wala Slicer

分析多线程程序:

问题是复杂性会增加,尤其是在分析多线程程序时。我认为目前唯一支持这一点的是 Indus项目。他们还提供了一个名为 Kaveri 的 eclipse 插件,但您必须将其与 Eclipse 3.1.2 一起使用

但是,您的代码必须符合Java 2(J2SE 1.4.2)。请参阅Java Support

关于java - java 文件的向后切片生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25281639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com