--%>

Abstract list domain

The abstract list domain is as shown: {empty, some, [d1], [d2],[ d1, d2], [d2, d1], all}.

A) empty represents empty lists.

B) some represents lists with only other values.

C) [d1] represents lists that contain d1 mixed with zero or more other values.

D) [d2] represents lists that contain d2 mixed with zero or more other values.

E) [d1, d2] represents lists that contain d1 and d2 in this order, plus zero or more other values.

F) [d2, d1] represents lists that contain d2 and d1 in this order, plus zero or more other values.

G) all represents lists that contain multiple d1 and d2 elements.

Using this abstraction, you can check ordering properties—for example, that if d1 and d2are inserted in this order in a list, and then they are removed, they are removed in the same order. Similar abstractions have been used for checking ordering properties of protocols and memories.

   Related Questions in Programming Languages

  • Q : What is Shallow copy Shallow copy : It

    Shallow copy: It is a copy of an object in which copies of each and every object's sub-components are not as well made. For example, a shallow copy of an array of objects would outcome in two separate array objects, each having references to similar s

  • Q : What is Primitive Type Casting

    Primitive Type Casting: C/C++ allows you to cast between totally unrelated types. This can be problematic for model checking. Avoid type casting between unrelated types and in particular primitive types. For example,

    Q : Use of Macros used in windows-dot-h

    What is the use of Macros used in <windows.h> header files?

  • Q : Explain Abstract Windowing Toolkit

    Abstract Windowing Toolkit: The Abstract Windowing Toolkit (AWT) offers a collection of classes which simplify the creation of applications with the GUI (graphical user interfaces). Such are to be found in the java.awt packages. Included are classes f

  • Q : Explain Default initial value Default

    Default initial value: It is the default value of any variable not explicitly initialized whenever it is declared. The fields of numeric primitive types contain the value zero by default, Boolean variables encompass the value false, char variables enc

  • Q : Define Little-endian Little-endian : It

    Little-endian: It is a common difference among machines is the order in which they store up the individual bytes of multi-byte numerical data. The little-endian machine stores the lower-order bytes prior to the higher-order bytes.

  • Q : Define Propagation Propagation : When

    Propagation: When an exception is thrown in a method, and there is no suitable exception handler within the method, the exception might be propagated to the caller of the method. For a checked exception, the method should include a throws clause in it

  • Q : Explain One Dimensional array One

    One Dimensional array:1) An array is a continuous memory location having similar kind of data in a single row or single column. Declaration in c++ is as under: const int size = 20;int a[size] or int a[2

  • Q : Explain Increment operator Increment

    Increment operator: The operator (++) which adds one to its operand. It consists of two forms: pre-increment (++x) and post-increment (x++). In its pre-increment form, the outcome of the expression is the value of its argument subsequent to the increm

  • Q : Define Number of Interleavings Number

    Number of Interleavings: Besides the raw number of threads, the state space is affected by the number of potential interleavings of these threads. While there exist automated techniques (partial-order reduction) to reduce these interleavings, most mod