--%>

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 are benefits of automated testing

    What are the benefits of automated testing over manual testing?

  • Q : Overloading and overriding in the

    Illustrate the difference between overloading and overriding in the programming language?

  • Q : Bank accounts Assignment &Code in JAVA

    Java Assignment Scenario:  Bank accounts Data structures need to be modelled with UML then created in Java

  • Q : Explain Aggregation Aggregation : It is

    Aggregation: It is a relationship in which an object has one or more other subordinate objects as portion of its state. The subordinate objects usually have no self-governing existence separate from their containing object. Whenever the containing obj

  • Q : Define Certificates Define Certificates

    Define Certificates: They are digital documents attesting to the binding of a public key to an individual or another entity. They permit verification of the claim which a given public key does in fact fit in to a given individual. The certificates hel

  • Q : Explain Coupling Coupling : Coupling

    Coupling: Coupling occurs whenever classes are aware of each of other as their instances should interact. The linkage between two classes which might be either weak or strong. Stronger coupling occurs whenever one class has a thorough knowledge of the

  • Q : Explain Copy constructor Copy

    Copy constructor: It is a constructor which takes a single argument of similar class. For illustration:     public class Point {        

  • Q : Describe Data type Data type : It is a

    Data type: It is a specifier to build memory block of some particular size and kind. C++ provides two kinds of data types: A) Fundamental type: That is not composed

  • Q : Explain Command-line argument

    Command-line argument: The arguments passed to a program whenever it is run. The Java program receives such in the single formal argument to its major method: public static void main(String[] args)

  • Q : What is Factory pattern Factory pattern

    Factory pattern: A pattern of class definition which is employed as a generator of instances of other classes. Frequently employed to form platform- or locale-particular implementations of abstract classes or interfaces. This decreases coupling betwee