Using partial-order methods in the formal validation of industrial concurrent programs

  • Authors:
  • Patrice Godefroid;Doron Peled;Mark Staskauskas

  • Affiliations:
  • AT&T Bell Laboratories, 1000 E. Warrenville Rd., Naperville, IL;AT&T Bell Laboratories, 600 Mountain Ave., Murray Hill, NJ;AT&T Bell Laboratories, 1000 E. Warrenville Rd., Naperville, IL

  • Venue:
  • ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

We have developed a formal validation tool that has been used on several projects that are developing software for AT&T's 5ESS™ telephone switching system. The tool uses Holzmann's supertrace algorithm to check for errors such as deadlock and livelock in networks of communicating processes. The validator invariably finds subtle errors that were missed during thorough simulation and testing; however, the brute-force search it performs can result in extremely long running times, which can be frustrating to users. Recently, a number of researchers have been investigating techniques known as partial-order methods that can significantly reduce the running time of formal validation by avoiding redundant exploration of execution scenarios. In this paper, we describe the design of a partial-order algorithm for our validation tool and discuss its effectiveness. We show that a careful compile-time static analysis of process communication behavior yields information that can be used during validation to dramatically improve its performance. We demonstrate the effectiveness of our partial-order algorithm by presenting the results of experiments with actual industrial examples drawn from a variety of 5ESS™ application domains, including call processing, signalling, and switch maintenance.