Eliminating Redundant Interleavings During Concurrent Program Verification

The paper presents a way of reducing the number of interleavings of concurrent actions that are investigated when concurrent systems are analysed or verified by exhaustive simulation or related methods. Eliminating redundant interleavings can lead to significant savings of analysis effort. The theory behind the method is developed in an abstract framework. Elementary Petri nets and shared variable multi-process programs are then used as application examples. The relation of the method to other reduction methods is briefly discussed.