--%>

Explain Counters

Counter variables are commonly used in many computer applications for different purposes. Here is a typical example where a variable is used to measures the progress of some activity of interest:

1146_counter1.jpg

If the exact value of the progress variable or the entire range of its values is not really required for checking the property of interest, then the use of this variable can cause unnecessary (potentially infinite) state space expansion. In this case, the progress variable can be reduced to a Boolean variable:

80_counter2.jpg

This modification immediately cuts down the number of states that need to be explored for this piece of code from ((2*MAXINT)+1)2 to only two possibilities: the progress variable taking only the value of true or false. Such small modifications can lead to exponential improvements in memory and time for a model checker.

   Related Questions in Programming Languages

  • Q : What are the valid and invalid XHTML

    What are the valid and invalid XHTML element names?

  • Q : What is Search path Search path : It is

    Search path: It is a list of folders (that is, directories) to be searched - for a program or class, for example.

  • Q : Define Thread Thread : It is a

    Thread: It is a lightweight procedure which is managed by the Java Virtual Machine (abbreviated as JVM). Support for threads is given by the Thread class in java.lang package.

  • Q : What is Static method Static method :

    Static method: The static method (also termed as a class method) is one with static reserved word in its header. The static methods vary from all other methods in that they are not related with any specific instance of the class to which they fit in.

  • Q : Explain in process verses out of

    Explain in process verses out of process component.

  • Q : Define White space White space :

    White space: Characters employed to make visual spacing in a program. White spaces comprise space, tab, carriage return and the line feed characters.

  • Q : Define Package Package : The named

    Package: The named grouping of classes and interfaces which gives a package namespace. Classes, interfaces and class members devoid of an explicit public, protected or private access modifier {access!modifier} encompass package visibility. The public

  • Q : Define the term Dynamic type Define the

    Define the term Dynamic type: This type of an object is the name of the class employed to construct it.

  • Q : Environment Modeling in Java Pathfinder

    Environment Modeling: In JPF, Java class files can be processed in two different ways: A) As ordinary Java classes managed and executed by the host JVM (e.g., standard Java library classes, JPF implementation class

  • Q : Define Arithmetic operator Arithmetic

    Arithmetic operator: The Operators, like +, -, *, / and %, which generate a numerical outcome, as a part of an arithmetic expression.