Patent ID: 8458522

Claim:
A method of system testing, comprising: modeling a system as a hypergraph having nodes and hyperedges, wherein the nodes correspond respectively to system states and the hyperedges incident on a particular node correspond to different stimuli that can be provided to the system when in the state corresponding to the particular node; maintaining test hyperedges in the model, each of the test hyperedges having an empty tail and being incident on a different node; maintaining ranks of reachable nodes and hyperedges; repeatedly, until the node corresponding to the current system state is unreachable: removing any test hyperedge incident on the node corresponding to the current system state; updating the ranks of reachable nodes and hyperedges upon removing any test hyperedge; referencing the hypergraph to find one of the hyperedges incident on the node corresponding to the current system state whose rank is lower than the rank of the current system state; providing the stimulus corresponding to said one of the hyperedges; and observing movement of the system between system states.