Model checking, testing and verification working together

Elsa Gunter, Doron Peled

Research output: Contribution to journalArticlepeer-review


We present a symbolic model checking approach that allows verifying a unit of code, e.g., a single procedure or a collection of procedures that interact with each other. We allow temporal specifications that assert over both the program counters and the program variables. We decompose the verification into two parts: (1) a search that is based on the temporal behavior of the program counters, and (2) the formulation and refutation of a path condition, which inherits conditions constraining the program variables from the temporal specification. This verification approach is modular, as we do not require that all the involved procedures are provided. Furthermore, we do not request that the code is based on a finite domain. The presented approach can also be used for automating the generation of test cases for unit testing.

Original languageEnglish (US)
Pages (from-to)201-221
Number of pages21
JournalFormal Aspects of Computing
Issue number2
StatePublished - Aug 2005


  • Model checking
  • Test generation
  • Verification

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science


Dive into the research topics of 'Model checking, testing and verification working together'. Together they form a unique fingerprint.

Cite this