Symmetry reduction techniques exploit symmetries that occur during the execution of a system, in order to minimize its state
space for efficient verification of temporal logic properties. This paper presents a framework for concisely defining and
evaluating two symmetry reductions currently used in software model checking, involving heap objects and, respectively, processes.
An on-the-fly state space exploration algorithm combining both techniques is also presented. Second, the relation between
symmetry and partial order reductions is investigated, showing how one’s strengths can be used to compensate for the other’s
weaknesses. The symmetry reductions presented here were implemented in the dSPIN model checking tool. We performed a number
of experiments that show significant progress in reducing the cost of finite state software verification.
This work was supported in part by NSF under grant CCR-9703094, by the U.S. Army Research Laboratory and the U.S. Army Research
Office under agreement number DAAD190110564, and from the Formal Verification of Integrated Modular Avionics Software cooperative
agreement, NCC-1-399, sponsored by Honeywell Technology Center and NASA Langley Research Center.