当前位置: 首页 > 工具软件 > JPF > 使用案例 >

[Java Path Finder][JPF学习笔记][6]jpf-symbc的初步使用

陆俊捷
2023-12-01

这篇日志继续总结些简单的JPF使用经验:

http://babelfish.arc.nasa.gov/trac/jpf/wiki/projects/jpf-symbc/doc 对Symbolic PathFinder进行了最基本介绍,并给出了一个Example.java和Example.jpf的例子。

这里摘录一些设置,进行简单的中文解释:

# The following JPF options are usually used for SPF as well: 

# no state matching (设置不使用state matching)

vm.storage.class=nil

# instruct jpf to not stop at first error (设置运行过程中出错是否停止)

search.multiple_errors=true

# specify the search strategy (default is DFS) (设置搜索策略,默认为深度优先搜索)

search.class = .search.heuristic.BFSHeuristic

# limit the search depth (number of choices along the path)
# (设置搜索的深度)

search.depth_limit = 10

#You can specify multiple methods to be executed symbolically as follows:
#symbolic.method=<list of methods to be executed symbolically separated by ",">

#You can pick which decision procedure to choose (if unspecified, choco is used as #default):
# (symbolic pathfinder一共用了三种constraint solver,分别是choco,iasolver和CVC3)

symbolic.dp=choco

symbolic.dp=iasolver

symbolic.dp=cvc3

symbolic.dp=cvc3bitvec

symbolic.dp=no_solver
#(explores an over-approximation of program paths; similar to a CFG traversal)

#A new option was added to implement lazy initialization (see [TACAS'03] paper)
#(设置是否使用lazy initialization)

symbolic.lazy=on

#(default is off) -- for now it is incompatible with Strings

#New options have been added, to specify min/max values for symbolic variables #and also to give the default for don't care values.

symbolic.minint=-100

symbolic.maxint=100

symbolic.minreal=-1000.0

symbolic.maxreal=1000.0 symbolic.undefined=0

#An option to increase the time limit until which choco tries to solve a particular #constraint

choco.time_bound=30000

# default value is 30000

另外,实际上SPF提供了非常多的例子,来说明其用法,例子主要在:%JPF_HOME%\jpf\jpf-symbc\src\examples 目录下,以及%JPF_HOME%\jpf-symbc\src\tests\gov\nasa\jpf\symbc 目录下,譬如%JPF_HOME%\jpf\jpf-symbc\src\examples\strings 目录下,就介绍了怎么处理字符串数组变量(因为Java的main方法都是Strings[] args)。

我准备接下来看看什么是lazy initialization,争取在今天晚上再总结一篇博文。

 

转载于:https://www.cnblogs.com/quyu/archive/2011/12/13/2286676.html

 类似资料: