我读过 Roslyn 不提供本地 CFG 实现,也不提供公共的数据流间或数据流内分析。然而,这是一个基于 Roslyn RC2 的源代码,它可能已经很老了。今天还是这样吗?
我正在尝试进行污点分析,即我应该能够在变量通过函数或分配给其他变量后对其进行跟踪。
任何帮助将不胜感激!谢谢!
我读过 Roslyn 不提供本地 CFG 实现,也不提供公共的数据流间或数据流内分析。然而,这是一个基于 Roslyn RC2 的源代码,它可能已经很老了。今天还是这样吗?
我正在尝试进行污点分析,即我应该能够在变量通过函数或分配给其他变量后对其进行跟踪。
任何帮助将不胜感激!谢谢!
从 1.2 开始,Roslyn 仅具有有限的内置数据流分析功能,可以通过单一方法了解一组跨度中使用的变量。这用于“提取方法”重构以查看需要移动哪些变量。否则,如果您想做更大的事情,您仍然需要靠自己。
同时,似乎有一个用于获取控制流图的公共 API(目前处于预览状态)。我找不到任何进一步的文件。
源代码:http: //sourceroslyn.io/#Microsoft.CodeAnalysis/Operations/ControlFlowGraph.cs
单元测试中的示例用法:http: //sourceroslyn.io/#Roslyn.Test.Utilities/Compilation/ControlFlowGraphVerifier.cs