ox.cads.testing

WGGraph

class WGGraph[S] extends GenericSolver[S, Event]

A tester for linearizabilty.

This is the tester referred to as the Wing & Gong Graph-Search in the paper Testing for Linearizability, Gavin Lowe. See that paper for more explanation of the technique.

The algorithm is based on the algorithm in Testing and Verifying Concurrent Objects, by Jeannette Wing and Chun Gong, extended to recognise revisited configurations.

S

the type of states of the corresponding sequential datatype

Linear Supertypes
GenericSolver[S, Event], Solver[Event], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. WGGraph
  2. GenericSolver
  3. Solver
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new WGGraph(seqObj: S, p: Int, maxSize: Long = -1, verbose: Boolean = false)

    seqObj

    the sequential object that acts as the specification for the concurrent datatype

    p

    the number of workers

    maxSize

    the maximum number of configurations to allow

    verbose

    should verbose output be given

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  8. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  11. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  13. def interrupt: Unit

    Interrupt this thread.

    Interrupt this thread.

    Definition Classes
    Solver
  14. var interrupted: Boolean

    Has this tester been interrupted?

    Has this tester been interrupted?

    Note that the solve method must detect that this variable has been set, and return Solver.Interrupted.

    Attributes
    protected[ox.cads.testing]
    Definition Classes
    Solver
  15. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  16. val mkInvoke: (Int, String, (S) ⇒ Any) ⇒ LLInvokeEvent[S, Any, Any]

    Make an invocation event.

    Make an invocation event.

    Definition Classes
    WGGraphGenericSolver
  17. val mkReturn: (Int, Any) ⇒ LLReturnEvent[Any]

    Make a return event.

    Make a return event.

    Definition Classes
    WGGraphGenericSolver
  18. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  21. def solve(events: Array[Event]): Int

    Run the linearization tester on the history given by events.

    Run the linearization tester on the history given by events.

    returns

    Solver.Success to indicate the linearization succeeded; Solver.OutOfSteam to indicate that the test gave up; or Solver.Failure to indicate that the linearization failed.

    Definition Classes
    WGGraphSolver
  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  23. def toString(): String

    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  25. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  26. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from GenericSolver[S, Event]

Inherited from Solver[Event]

Inherited from AnyRef

Inherited from Any

Ungrouped