5

我需要使用抽象解释来使用 LLVM 进行一些分析。这可能吗?或者我需要更轻松地使用分析工具。如果我可以通过 LLVM 做到这一点,哪些类将帮助我从原始源代码中制定语句以获取变量之间的关系(以及每个变量的可能值范围)

4

3 回答 3

3

您可以查看KLEE,它是 LLVM 位码的符号解释器:https ://github.com/klee

于 2015-12-17T20:49:55.267 回答
2

如果您使用区间域进行分析,则可以使用Constant Range类来表示区间。它将允许您抽象出范围上的算术运算。通过调试元数据和一些额外的簿记,您可以获得变量之间的关系。看到这个答案。

于 2015-12-21T14:27:40.460 回答
0

您可以查看 Pagai 静态分析器,该分析器使用最先进的抽象解释技术计算 LLVM 位码上的不变量,并且可以使用获得的不变量检测 .bc 文件,以供您的工具使用。 http://pagai.forge.imag.fr

于 2016-05-16T20:51:49.397 回答