由于项目需要,这两天在windows上安装程序不变式分析工具Daikon(很强大的工具哦~~)
Daikon主要的适用平台是Linux,虽然网站上介绍说是可以装在windows下,但按照它介绍的方法去做总是不成功。因为它所默认使用的C/C++前端编译工具使用的是Kvasir,而Kvasir是与Linux平台相关的,在Cygwin中装不起来。上学期用各种办法试了几次,不行,昨天折腾一晚上装Kvasir,还是不行。于是今天决定放弃使用Kvasir作为前端编译工具。
Daikon网站上介绍说还有一种叫Mangel-wurzel的C/C++前端可用,但不是主流工具,不过它是适用在windows上的。于是今天下午试试看。之前几次也还是装不起来,后来发现是下的Mangel-wurzel的版本不对,它官网上给出的链接是http://pag.csail.mit.edu/daikon/download/binaries/mangel-wurzel-linux-x86.tar.gz ,Linux上的Mangel-wurzel。但适用在windows上的是http://pag.csail.mit.edu/daikon/download/binaries/mangel-wurzel-windows.zip ,
下载
解压
测试:在Cygwin中输入mangel --help,ok,能用~~
再按照步骤用Mangel-wurzel编译一个简单的helloworld.c,生成.delc文件;运行,生成 .dtrace文件。
java -daikon.Daikon .delcs .dtrace > invariants.txt
一切ok~~终于在windows中装上了daikon。。。
需要注意的几点是:
1)系统环境变量中需要添加DAIKONDIR,即daikon目录的绝对路径
2)系统环境变量中需要添加JDKDIR和JAVA_HOME,即Java目录的绝对路径
3)修改~/daikon/java目录下makefile文件中的INV变量的路径,改为daikon目录的绝对路径