1 简介
这是Daikon不变量检测器的开发者手册。
有关使用Daikon的信息,请参阅Daikon用户手册。本手册是为那些已经熟悉使用Daikon,但希望对其进行定制或扩展的人准备的。
更多的信息可以从http://plse.cs.washington.edu/daikon/pubs/ 的技术文件中找到。
2 扩展Daikon
本章介绍如何定制或修改Daikon。
- 编译Daikon。
- 源代码(版本控制库)。
- 使用Eclipse。
- 新的不变量。
- 新的派生变量。
- 新的不变式格式化。
- 新的前端。
- 新的抑制器。
- 读取dtrace文件。
- System.exit。
2.1 编译Daikon
要编译Daikon,请在$DAIKONDIR/java/或其任何子目录中输入make。或者,输入make -C $DAIKONDIR compile。要创建daikon.jar文件,输入make -C $DAIKONDIR daikon.jar。
发行版包括daikon.jar和已编译的.class文件,所以你不需要自己编译它们,除非你做了修改。
关于编译Daikon的更多信息,请参阅Makefiles中的注释。
2.1.1 编译Daikon的要求
在编译Daikon之前,你需要安装一些依赖项(即用于构建Daikon的软件)。对于CentOS、Fedora和Ubuntu,你可以在文件$DAIKONDIR/scripts/Dockerfile-OSNAME-jdkN-plus中找到安装这些依赖项的命令。对于其他操作系统,使用类似的命令。(如果你确定了其他操作系统的命令,请与Daikon开发者分享,以便我们能与其他用户分享)。
注意,Kvasir,Daikon的C语言前端(见Daikon用户手册中的Kvasir),在Mac OS上不工作。
Daikon的构建过程使用C预处理器cpp将发行版中的每个.jpp文件转换成多个.java文件,然后进行编译。如果你有一个C语言编译器,你几乎肯定有cpp。
2.2 源代码(版本控制库)
Daikon的git仓库位于GitHub上;见https://github.com/codespecs/daikon/。