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

Patrice Godefroid, Doron Peled, Mark Staskauskas

Research output: Contribution to journalArticlepeer-review

28 Scopus citations

Abstract

Formal validation is a powerful technique for automatically checking that a collection of communicating processes is free from concurrency-related errors. Although validation tools invariably find subtle errors that were missed during thorough simulation and testing, the orute-force search they perform can result in excessive memory usage and extremely long running times. Recently, a number of researchers have been investigating techniques known as partial-order methods that can significantly reduce the computational resources needed for forma! validation by avoiding redundant exploration of execution scenarios. This paper investigates the behavior of partial-order methods in an industrial setting. We describe the design of a partial-order algorithm for a formal validation tool that has been used on several projects that are developing software for the Lucent Technologies 5ESS® telephone switching system. We demonstrate the effectiveness of the algorithm by presenting the results of experiments with actual industrial examples drawn from a variety of 5ESS application domains.

Original languageEnglish
Pages (from-to)496-507
Number of pages12
JournalIEEE Transactions on Software Engineering
Volume22
Issue number7
DOIs
StatePublished - 1996
Externally publishedYes

Keywords

  • Automatic verification
  • Concurrent programs
  • Formal methods
  • Partial-order methods
  • Reachability analysis
  • Validation

Fingerprint

Dive into the research topics of 'Using partial-order methods in the formal validation of industrial concurrent programs'. Together they form a unique fingerprint.

Cite this