使用Frama-c分析具有CMake构建基础结构的项目

时间:2016-02-16 22:25:53

标签: c cmake frama-c value-analysis

我需要使用frama-c值分析插件来分析一些项目。这些项目使用CMake构建基础架构作为其构建系统。

我使用frama -c分别分析每个文件。这样,有关入口点的信息将丢失。更准确地说,frama-c需要一个不包含“main”函数的文件的入口点,因此覆盖所有函数并从项目中选择单个文件中的最佳入口点是一项挑战。

我的问题是,有没有办法可以在整个项目中作为一个整体运行frama-c(不是逐个文件)?

1 个答案:

答案 0 :(得分:4)

Frama-C在其命令行上接受多个文件。如果预处理器的配置(选项-cpp-extra-args,特别是用于包含)在所有文件中都是相同的,那么这将起作用。

如果您需要针对不同文件使用不同的预处理器设置,则应单独预处理每个文件(仅cpp,不使用Frama-C),并将每个结果保存为.i文件。然后,您可以同时将所有这些预处理文件提供给Frama-C。通常,可以通过调整构建过程来完成第一个操作。