我一直在研究程序切片。由于该向后切片适用于控制流图(CFG),并且有许多生成CFG的工具,因此我很容易用Java实现了向后切片算法。

但是,正如阅读某些文章一样,我看到正向切片在系统依赖图(SDG)上起作用,并且我发现WALA生成SDG,但也实现了正向切片。

WALA是一个非常大的项目,我有点迷失其代码和文档。是否有任何示例可以说明如何将WALA's Forward slicing用于Java?或者至少如何以点格式生成给定程序的SDG,以便我也可以使用Graphviz对其进行可视化。

最佳答案

WALA's user guide可能对您有所帮助。在其示例中,可以将computeBackwardSlice方法更改为computeForwardSlice方法以实现前向切片。

Wala已被实施为jar,您可以下载以下四个jar来调用其方法。
com.ibm.wala.corecom.ibm.wala.castcom.ibm.wala.shrikecom.ibm.wala.util

关于java - 如何使用WALA进行正向切片,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54459998/

10-10 14:36