Optimistic Synchronization-Based State-Space Reduction

DOI: 10.1007/3-540-36577-X_36


Reductions that aggregate fine-grained transitions into coarser transitions can significantly reduce the cost of automated
verification, by reducing the size of the state space. We propose a reduction that can exploit common synchronization disciplines,
such as the use of mutual exclusion for accesses to shared data structures. Exploiting them using traditional reduction theorems
requires checking that the discipline is followed in the original (i.e., unreduced) system. That check can be prohibitively expensive. This paper presents a reduction that instead requires checking
whether the discipline is followed in the reduced system. This check may be much cheaper, because the reachable state space
is smaller.

Download full-text


Available from: Ernie Cohen,
11 Reads
  • Source
    • "These predicates are used to perform partial-order reduction on the state space, in the meanwhile inferring the assumptions on the predicates. The work in [26] is interesting in that their approach only requires checking if the reduced software obeys the synchronization discipline. Unless the exclusive access predicates are expressive enough, these techniques do not work well when the synchronization discipline, e.g. the locksets protecting a variable, changes over time along the execution. "
    [Show abstract] [Hide abstract]
    ABSTRACT: In this paper, we present a new algorithm for detecting data-races in an execution of a concurrent program. Our algorithm is sound and precise, that is, it reports a race in an execution iff there are two accesses to a shared variable along the execution that are not ordered by the happens-before relation. Previous algorithms for computing the happens-before relation are based on clock vectors. On the other hand, our algorithm is based solely on the concept of locksets and is able to capture all mutual-exclusion synchronization idioms uniformly with one mechanism. Our lockset algorithm could be very useful for improving the precision of flow-sensitive static analyses, particularly those for detecting data-races and atomicity violations in concurrent programs. We present one such analysis, a model checking algorithm that uses our lockset algorithm both to check for races exhaustively and perform partial-order reduction when races are absent. Our characterization of the happens-before relation in terms of locksets rather than clock vectors is crucial for the fixpoint computation inherent in model checking and other flow-sensitive analyses. We have implemented our algorithm and used it to prove the absence of data-races and assertion failures on a number of examples containing a variety of synchronization idioms.
  • Source
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Structural model abstraction is a powerful technique for reducing the complexity of a state based enumeration analysis. We present in this paper new ecien t ordinary Petri nets reductions. At rst, we dene \behavioural" reductions (i.e. based on conditions related to the language of the net) which preserve a fundamental property of a net (i.e. liveness) and any LTL formula that does not observe reduced transitions of the net. We substitute these conditions by structural or algebraical ones leading to reductions that can be ecien tly checked and applied whereas enlarging the application spectrum of the previous reductions. At last, we illustrate our method on signican t and typical examples.
Show more