Chapter

Model Checking Software

Volume 5578 of the series Lecture Notes in Computer Science pp 50-67

Improving Non-Progress Cycle Checks

  • David FaragóAffiliated withLancaster UniversityInstitut für Theoretische Informatik Logik und Formale Methoden, Universität Karlsruhe (TH)
  • , Peter H. SchmittAffiliated withLancaster UniversityInstitut für Theoretische Informatik Logik und Formale Methoden, Universität Karlsruhe (TH)

* Final gross prices may vary according to local VAT.

Get Access

Abstract

This paper introduces a new model checking algorithm that searches for non-progress cycles, used mainly to check for livelocks. The algorithm performs an incremental depth-first search, i.e., it searches through the graph incrementally deeper. It simultaneously constructs the state space and searches for non-progress cycles. The algorithm is expected to be more efficient than the method the model checker SPIN currently uses, and finds shortest (w.r.t. progress) counterexamples. Its only downside is the need for a subsequent reachability depth-first search (which is not the bottleneck) for constructing a full counterexample. The new algorithm is better combinable with partial order reduction than SPIN’s method.

Keywords

Model Checking SPIN Non-progress cycles livelocks depth-first search partial order reduction