User:Aronisstav/sandbox/Partial order reduction

In computer science, partial order reduction is a technique for reducing the size of the state-space to be searched by a model checking or automated planning and scheduling algorithm. It exploits the commutativity of transitions, which result in the same state when executed in different orders.

Formalization
In explicit state space exploration, partial order reduction usually refers to the specific technique of expanding a representative subset of all enabled transitions. This technique has also been described as model checking with representatives. There are various versions of selecting the subset, such as the ample set method , persistent set method , source set method , and stubborn set method.

Dependency relations
The formalization of partial order reduction techniques often relies on a notion of dependency between transitions of the state transition system. Two transitions are considered independent if whenever they are mutually enabled, they cannot disable another and the execution of both results in a unique state, regardless of the order in which they are executed. Transitions that are not independent, are dependent.

Dependency can be approximated by static analysis, or determined dynamic analysis, by 'executing' the transition system (e.g. running the program) and collecting data about the executed transitions.

Soundness
In order to be useful, a partial order reduction algorithm must ensure that it will inspect states that are partial-order-equivalent with all relevant reachable states in the given state-space. This is called a soundness or correctness argument. A method to prove soundness, is to show that the subset of transitions that the algorithm explores at every inspected state satisfies some particular property and also show that the property leads to soundness. The aforementioned ample, persistent, source, and stubborn properties describe subsets that lead to soundness. The algorithms for constructing such subsets out of all the enabled transitions at each state are also described in the referenced papers.

Effectiveness
The premise of partial order reduction techniques is that exploring the entire (i.e., not reduced) state-space is too costly. The effectiveness of a It is therefore important to determine how effective a particular partial order reduction technique is.

Subset selection

Sleep Sets

Optimality

Wakeup Trees

Tools

 * CHESS
 * Concuerror
 * Nidhugg
 * Java PathFinder
 * SPIN
 * VERISOFT

Other techniques
Abstract interpretation Bounded model checking Formal analysis