ac 程序的控制流程图找到最坏的可能路径
是否有任何工具、库或框架可以获取 C 程序的控制流图,并找到程序可能采取的最坏路径?
当我阅读与控制流图相关的其他问题时,我遇到了一些可以生成控制流图的工具。有什么方法可以利用它们来找到最坏的可能路径吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
是否有任何工具、库或框架可以获取 C 程序的控制流图,并找到程序可能采取的最坏路径?
当我阅读与控制流图相关的其他问题时,我遇到了一些可以生成控制流图的工具。有什么方法可以利用它们来找到最坏的可能路径吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
如果图表中永远存在循环,那么就不会——没有一种万无一失的方法来解决这个问题,因为这个问题相当于停止问题。简短版本:给定任意其他程序,程序甚至不可能确定它是否会返回。您可能会确定潜在的无限循环,但接近确定的唯一方法是使用一组详尽的输入实际运行程序。
If the graph will ever have loops in it, then no -- there isn't a foolproof way to figure this, as the question is equivalent to the halting problem. Short version: it's impossible for a program, given an arbitrary other program, to even determine whether it will ever return. You could possibly determine potential infinite loops, but the only way to be anywhere near certain is to actually run the program with an exhaustive set of inputs.
您可能会对最坏情况执行时间感兴趣,如果成功的话,在某种意义上一定已经找到了最差的控制流路径。
关于计算 C 控制流图的库,请参阅我们的对 DMS 的流分析支持 C和其他语言,
You will probably be in interested in Worst Case Execution Time which, if succesful, in some sense must have found your worst control flow path.
Regarding libaries for computing C control flow graphs, see our flow analysis support for DMS for C and other languages,