小编ale*_*lex的帖子

基于llvm的遗传编程代码变异?

对于遗传编程的研究,我想在llvm的基础上实现一个进化系统并应用代码突变(可能在IR级别).

我发现了llvm-mutate,这是非常有用的执行点突变.据我所知,指令得到计数/编号,然后可以删除编号的指令.

但是,作为代码中的可用语句之一,似乎可以引入新指令.然而,真正的突变将允许插入任何允许的IR指令,而不管它是否在要变异的代码中使用.此外,应该可以插入链接库的库函数调用(不在当前代码中使用,但可能可用,因为lib已在clang中链接).

我是否在llvm-mutate中忽略了这一点,或者到目前为止真的不可能?

是否有任何项目试图/已经为llvm实施(ed)此类突变?

llvm有许多代码分析工具,应该允许实现上述方法.llvm很大,所以我有点迷失方向.任何提示哪些工具可能有用(例如获取可用库函数列表等)?

谢谢Alex

genetic-programming llvm clang mutation-testing

11
推荐指数
1
解决办法
363
查看次数

LLVM out of source pass build:不支持可加载模块(在Linux上)

我几周前在debian wheezy上编译并安装了LLVM(configure&make),现在尝试从源代码编译llvm-mutate传递.AFAICC,llvm-mutate遵循源代码构建指令的cmake .

在尝试构建llvm-mutate时

mkdir build
cd build
cmake -DCMAKE_MODULE_PATH=/usr/local/share/llvm/cmake ../
Run Code Online (Sandbox Code Playgroud)

我明白了:

- 忽略Mutate - 此平台不支持可加载模块.

嗯?opt和可加载的传递(在llvm_trunk/build/Debug + Asserts/lib/xxx.so中)存在且工作(已使用configure&make编译,而不是cmake).

所以这个问题似乎与cmake有关?其他人遇到了这样的问题,不管怎么用win使用cygwin:这里

任何的想法?谢谢Alex

c++ linux shared-libraries llvm

7
推荐指数
1
解决办法
1510
查看次数