2

我读过 Roslyn 不提供本地 CFG 实现,也不提供公共的数据流间或数据流内分析。然而,这是一个基于 Roslyn RC2 的源代码,它可能已经很老了。今天还是这样吗?

我正在尝试进行污点分析,即我应该能够在变量通过函数或分配给其他变量后对其进行跟踪。

任何帮助将不胜感激!谢谢!

4

2 回答 2

4

从 1.2 开始,Roslyn 仅具有有限的内置数据流分析功能,可以通过单一方法了解一组跨度中使用的变量。这用于“提取方法”重构以查看需要移动哪些变量。否则,如果您想做更大的事情,您仍然需要靠自己。

于 2016-05-23T17:18:32.100 回答
1

同时,似乎有一个用于获取控制流图的公共 API(目前处于预览状态)。我找不到任何进一步的文件。

源代码:http: //sourceroslyn.io/#Microsoft.CodeAnalysis/Operations/ControlFlowGraph.cs

单元测试中的示例用法:http: //sourceroslyn.io/#Roslyn.Test.Utilities/Compilation/ControlFlowGraphVerifier.cs

GitHub问题:https ://github.com/dotnet/roslyn/issues/24104

于 2018-06-25T18:03:59.830 回答