CPAchecker GIThub 简单翻译(一)

简单翻译自 https://github.com/sosy-lab/cpachecker 

一、开始CPAchecker

    安装说明书:INSTALL.md。发展与贡献Developing.md。doc文件夹里面有更多的说明文档。

二、先看看安装说明书INSTALL.md

①安装CPAchecker——Binary()

安装Java运行环境,至少需要兼容Java8。(例如Oracle JRE , OpenJDK)。如果你安装了多种JVMs,请设置好默认的JVM,否则在运行CPAchecker时需要指定JVM。

解压缩CPAchecker压缩包到你选择的目录。

②安装CPAchecker——Source

        安装兼容Java8的Java SDK。请确保使用命令行指令 Java 与 javac 可以使用,也就是说将它们放在系统变量的PATH下。

        安装 ant (1.7版本以上的都可以)。

        安装 Subversion。

        从SVN库检查CPAchecker。

        运行 ant 在CPAchecker 所在目录来建立CPA。当首次建立CPA时,将会自动下载所有需要的libraries。如果出现了错误,请检查如下几条问题:

                        1、你的系统中是否已经有一些不兼容版本的libararies文件,建立会出现 NoSuchMethodErrors 或者其它类似的错误。这种情况请命令键入   ant -lib  lib/java/build

                        2、如果建立是由于编译错误 在运行AutomatonScanner.java 或 FormulaScanner.java 文件时。说明你的 JFlex 版本太旧。这种情况使用命令  ANT_TASKS=none ant

                        3、如果建立失败由于 类org.apache.ivy.ant.BuildOBRTask无法被找到,这可能是由于 Ivy 版本太旧导致。请卸载Ivy。


(如果想建立  CPAchecker 使用 Eclipse 请查看另一篇文档doc/Developing.md

    三、然后看看这个Developing.md

    请逐个并且至少要阅读  StyleGuide.mdLogging.mdTest.md, 和 VersionControl.md

    ① 得到源码

        你可以通过四种方式检索到源码: 主要的 SVN repository  。 我们的Git mirror  。 GitHub里的Git mirror  。

只有我们的 SVN 库允许提交修改,其他的镜像文件都是只读的。我们推荐使用我们自己的库来代理使用,因为这样可以避免第三方的同步风险或者造成问题。

        你可以通过以下方式在线浏览源码: 

        我们使用自己的 Trac 来进行 bug 追踪。

        可以使用命令行来建立源码,例如INSTALL.md 中所讲的。(前面介绍的)

        如果你喜欢使用Git , 使用以下的指令来创建一个工作备份,这样你就可以透明的向SVN 库提交(通过 git svn dcommit)任务:(Github 同样有这种方式)

git clone -n -o mirror https://svn.sosy-lab.org/git/software/cpachecker.git/
cd cpachecker
git svn init --prefix=mirror/ -s https://svn.sosy-lab.org/software/cpachecker
git checkout -t mirror/trunk
    ②通过Eclipse 来扩展 CPAchecker

        0、安装 Java8 兼容的 JDK 。

        1、安装 Eclipse 至少 4.6 版本以上,配有JDT。

     2、重要的:安装 Eclipse 插件为了 [google-java-format] :下载google-java-format-eclipse-plugin-*.jar 从最新的 google-java-format release 网址,并把它放到 Eclipse 安装文件夹的 dropins 目录下。(注意,这里不是workspace)

        3、为 Eclipse 安装一个 SVN 插件,例如 SubClipse 。从 SVN 库 建立一个新 project (或者向上面一样使用GIT)。

        4、复制文件 .factorypath.template 到 .factorypath, 并且(如果必要的话)在里面调整目标 CPAchecker 目录的路径。

      5、如果 Eclipse 提示关于丢失 JDK 的消息(Unbound classpath container: 'JRE System Library [JavaSE-1.8]'),进入Windows菜单——>Preferences——>Java——>Installed JREs ,点击 Search 按钮选择你的Java 8 路径。

      6、为了运行 CPAchecker ,使用已经提供的一种登录设置或者创建你自己的设置。去选择configuration(配置), specification(规格),以及program files(程序文件)使用text box(文本框)“program arguments”在登录配置编辑器。文本框“VM arguments”应该包含“-ea”使 assertion(断言)检测能够使用。

        7、提示:如果你想要libraries的来源(像是 Guava 或 CDT),运行 ant install-contrib 一次在CPAchecker 的目录文件中。

    ③代码质量检测以及连续积分

        我们使用javac,Google Error-Phone,Eclipse Java 编译器,以及SpotBugs 去在源码中寻找bugs,并且我们保持CPA不受到这些工具的警告。你可以运行它们只需要一次(加上单元测试)运行 ant all-checks.

        我们的BuildBot 也将执行这些检测并且向开发者名单寄邮件。

        如果任何这些工具或单元测试找到了问题,请立刻修复它们(在向后台提交前)。

        BuildBot 也会执行综合测试通过数千个 CPAchecker 在不同的配置下的每次提交和检测操作。CPAchecker 的所有主要 projects 以及 配置都应该是属于测试套件的一部分。你可以在 Test.md 中查看更多消息。

    ④调试⑤发布新版本——对于我这个普通使用者来说影响不大,就不管它了。

这里我已经导入了Eclipse试了以下,有几个问题。首先这个 .factorypath.template 根本找不到,只有 .factorypath 。所以没有什么复制和调整一说。然后是这个第6步的configuration ,不知道在哪里设置这个玩意,菜单里没找到,导入项目的时候也没看到相关选项,更别说什么 “program arguments” 或者 “VM arguments” 。最后的问题是,使用Eclipse的导入已存在projects功能。导入之后src文件夹下有多个文件报错(大概7-8个吧)。挨个进去看一下,基本上是两个问题。

import org.sosy_lab.cpachecker.cpa.automaton.AutomatonParser;

import org.sosy_lab.cpachecker.util.predicates.precisionConverter.FormulaParser;

这两个包出了问题。找到这两个包,问题大概是里面的这两个功能函数——“cannot be resolved”。不知道是什么原因引起的,更不敢动手改。这么吊的工程哪敢随便改。有点卡住了。(很奇怪,别人能用的东西,我老是遇到问题,SMT也是,之前还修了半天Eclipse配置————很难受。)


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值