【问题标题】:Control Flow Graph, Inter/Intra data flow analysis with Roslyn, .NET Compiler Platform控制流图,使用 Roslyn 进行内部/内部数据流分析,.NET 编译器平台
【发布时间】:2016-05-23 02:11:51
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# asp.net .net roslyn roslyn-code-analysis


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      与此同时,似乎有一个用于获取控制流图的公共 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

      【讨论】:

        猜你喜欢
        • 2019-06-25
        • 1970-01-01
        • 2011-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-23
        • 1970-01-01
        • 2021-11-17
        相关资源
        最近更新 更多