首页 > 解决方案 > 调用 checkBranchCondition 的路径条件

问题描述

我想获得程序中每个可能分支的路径约束。

假设我有一个简单的程序

int x;
cin >> x;

if (x > 0) {
    cout << "Path A";
}
else {
    cout << "Path B";
}

我希望我的检查器能够确定该程序中有两种可能的路径。

路径 Ax > 0的条件是 ,路径 B 的条件是x <= 0

我可以使用 checkBranchCondition 注册一个回调以在路径中的每个拆分处运行,但是有没有办法获取路径条件?

标签: c++clangllvm-clangclang-static-analyzer

解决方案


推荐阅读