我想从C源代码生成程序依赖图(PDG)。我找到了解释它是怎么做的论文,但都使用了商业CodeSurfer工具。
有没有免费工具可以做到这一点?
答案 0 :(得分:7)
Frama-C是一个开源静态分析框架,可以为C程序计算声音程序依赖关系图。其slicing plug-in使用生成的PDG。切片和PDG计算在邮件列表的February 2010中进行了讨论(来自jung,myung-jin及其答案的消息)。
您也可以查看NIST的Unravel或佐治亚理工学院Aristotle。卡尔斯鲁厄大学的Valsoft和洛约拉的Surgeon's Assistant也可能值得研究。
答案 1 :(得分:0)
Doxygen可以生成函数调用者和被调用者图,以及程序中使用的所有函数。这可能不是您正在寻找的,但它可以提供一些有用的数据。
SourceMonitor是一个度量工具,可以显示函数和程序的复杂性以及复杂性图。
这两种工具都是免费的。
答案 2 :(得分:0)
答案 3 :(得分:0)
如果使用llvm生成pdg,则可以使用以下命令: https://bitbucket.org/psu_soslab/program-dependence-graph-in-llvm/src/master/