P. Godefroid et al., USING PARTIAL-ORDER METHODS IN THE FORMAL VALIDATION OF INDUSTRIAL CONCURRENT PROGRAMS, IEEE transactions on software engineering, 22(7), 1996, pp. 496-507
Formal validation is a powerful technique for automatically checking t
hat a collection of communicating processes is free from concurrency-r
elated errors. Although validation tools invariably find subtle errors
that were missed during thorough simulation and testing, the brute-fo
rce search they perform can result in excessive memory usage and extre
mely long running times. Recently, a number of researchers have been i
nvestigating techniques known as partial-order methods that can signif
icantly reduce the computational resources needed for formal validatio
n by avoiding redundant exploration of execution scenarios. This paper
investigates the behavior of partial-order methods in an industrial s
etting. We describe the design of a partial-order algorithm for a form
al validation tool that has been used on several projects that are dev
eloping software for the Lucent Technologies 5ESS(R) telephone switchi
ng system. We demonstrate the effectiveness of the algorithm by presen
ting the results of experiments with actual industrial examples drawn
from a variety of 5ESS application domains.