LLVM中的抽象解释

LLVM中的抽象解释,llvm,llvm-clang,llvm-ir,abstract-interpretation,Llvm,Llvm Clang,Llvm Ir,Abstract Interpretation,我需要使用抽象解释来使用LLVM进行一些分析。 这可能吗?或者我需要更容易地使用分析工具。 如果我可以通过LLVM实现这一点,那么哪些类可以帮助我从原始源代码中制定语句,以获得变量之间的关系(以及每个变量可能的值范围)您可以查看哪个是LLVM位码的符号解释器:如果您使用区间域进行分析,则可以使用类来表示区间。它将允许您抽象出范围上的算术运算。通过调试元数据和一些额外的簿记,您可以获得变量之间的关系。请参阅答案。您可以查看Pagai静态分析器,它使用最先进的抽象解释技术计算LLVM位码上的不变量,

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

您可以查看哪个是LLVM位码的符号解释器:

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

您可以查看Pagai静态分析器,它使用最先进的抽象解释技术计算LLVM位码上的不变量,并可以使用获得的不变量插入.bc文件,供您的工具使用。