KLEE实际上是否生成代码?它是否执行编译器/解释器的任何其他Benchmark步骤? (词法分析,语法分析,语义分析,代码优化,中间代码生成,代码生成,符号表链接)
答案 0 :(得分:2)
它主要依赖于LLVM常规优化,但也提供了一些自定义转换;有关详细信息,请参阅lib/Module
。
对于libc运行时,它链接选项-libc
指定的其他IR( none , klee , uclibc );如果启用了posix运行时(-posix-runtime
),则输入bitcode文件中的原始 main 函数将替换为可以符号化argv
的函数。 KLEE执行/解释的最终IR在测试用例的 klee-last 目录中为assembly.ll
。在其余部分,KLEE是assembly.ll
的翻译。