--%>

Property Specifications of Java Pathfinder

Property Specifications: The most straightforward way to specify and check simple safety properties in JPF is to use Java assertions inside the application under analysis. This allows the specification of properties that only depend on the application data values (e.g., parameter value intervals). Violations are caught by JPF. The drawbacks of this method are that it requires access to the application sources, and that it can significantly increase the state space if the property requires evaluation state itself (e.g., for properties implemented as automatons).

The other way to specify properties is by using gov.nasa.jpf.Property or gov.nasa.jpf.GenericProperty instances to encapsulate property checks.

50_property spec.jpg

The user typically creates an instance of such a class and provides an implementation for its check() method which does the main work for checking the property. The check()method is evaluated after each transition. If it returns false and termination has been requested, the search process ends, and all violated properties are printed (which potentially includes error traces).

JPF comes with generic Property classes for the following properties:

  • No Deadlocks
  • No Assertion Violation
  • No Uncaught Exceptions (i.e., not handled inside the application)

   Related Questions in Programming Languages

  • Q : What is sticky bit Explain the sticky

    Explain the sticky bit?

  • Q : Define Multiple Inheritance Multiple

    Multiple Inheritance: In C++, multiple-inheritance occurs when a class inherits from more than one parent. For example: 524_mult</span></p>
                                        </div>
                                        <!-- /comment-box -->
                                    </li>
   
   </td>
	</tr><tr>
		<td>
       
      <li>
                                        <div class=

    Q : Explain Structured programming

    Structured programming: It is a style of programming generally related with languages like FORTRAN, C, Pascal and so forth. Employing structured programming methods, a problem is frequently resolved employing a divide and conquer approach like stepwis

  • Q : What are Logical operators Logical

    Logical operators: The operators, like &&, ||, &, | and ^ which take two Boolean operands and generate a Boolean outcome. Employed as part of a Boolean expression, frequently in the condition of the control structure.

  • Q : Define Function Function : The name

    Function: The name given to assembly of statements which does some particular task and might return a value. Function can be invoked (or called) any number of time and anywhere in the program.

  • Q : Explain a way to install JAVA S60 device

    What should I do when installation fails whilst trying to install a Java™ Verified application to a certain S60 device?

  • Q : Inventory management system in UML

    Mini-Case The Hatcher Company is in the process of developing a new inventory management system.  One of the event handling processes in that system is Receive Supplier Shipments.  The (inexperie

  • Q : Explain Semantic error Semantic error:

    Semantic error: It is an error in the meaning of program. A statement might contain no syntax errors, however might still break the rules of Java language. For example, when ivar is an int variable, the shown statement is syntactically correct

  • Q : Explain Cohesion Cohesion : The level

    Cohesion: The level to which a component executes a single well-stated task. A strongly cohesive technique, for example, will execute a single task, like adding an item to a data structure, or sorting several data, while a weakly cohesive technique wi

  • Q : Explain the important thing to HTML

    Explain the important thing to HTML document authors.