Jpf configuration parameters

Source: Internet
Author: User

In this post, I will put down the details about some common jpf options one can specify in. jpf configuration file or a argument page of a run configuration. below, a fully qualified name include the package, class, and inner class like "package_name.class_name $ inner_class_name.method_name ".

1. Target = <your package>. Example

Target specifies the class you want to analyze

2. classpath = <your class path>

Class path tells JVM where to find the target class

3. Symbolic. method = <fully qualified name>. func (sym # Con)

Tells jpf which method to be executed symbolically. "sym" and "con" represents the first argument shocould be associated with a symbolic value and the second one a concrete value. you can specify multiple methods for symbolic execution, simply separate them
Using ","

4. Listener = gov. NASA. jpf. symbc. symboliclistener

Listener to print information such as path conditions, test cases about a symbolic run

5. VM. Storage. Class = Nil

No State matching (???)

6. Search. multiple_error = true

Tell jpf not to stop when it finds the first error as a typical model checker will exit after founding one counter example.

7. Symbolic. DP = Choco

Use Choco as the demo-procedure

8. Symbolic. MININT = 100

Specify the range of a symbolic integer

9. Symbolic. DEBUG = true

More information will be printed such as the number of path conditions, and how many of them are satisfiable

10. jpf-core.native_classpath (compare with classpath which tells jpf VM where to find classes)

This property specifies the classpath for the host JVM (when the host JVM needs to load a class, it searches in the path ). in jpf, when we define our own "listener" (for observing jpf internals as jpf is implemented using "Observer" design pattern. when
It is going to do something, it will handle y the observer .) or "Native peer" (for modeling native methods (or not restricted to native methods), they will be executed by the host JVM, so we need to make sure the listener or native peer is in the classpath
Of host JVM.

11. CG. enumerate-random = true

In some part of a program, a random number may be generate (for example by using random class ). if this parameter is set to true, jpf will have e all possibilities. this is the model checking feature of jpf. if we simply run the program as a Java application,
Each execution can only has e one possible path.

12. VM. no_orphan_methods = true (VM is optional)

If this parameter is set to true, jpf will throw exception if it finds that there are orphan methods in a native peer class (orphan methods means there are no such method in the model class, but users have modeled the methods in the native peer class ). by
Default, the parameter is set to false.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.