Optimistic Synchronization-Based State-Space Reduction

DOI: 10.1007/3-540-36577-X_36

ABSTRACT 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.


Available from: Ernie Cohen, Jun 02, 2015
  • 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.
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: The interleaving of concurrent processes actions leads to a com- binatory explosion. There exists in Petri nets theory some structural reduc- tions that combat the state explosion by agglomerating sequences of transi- tions into a single atomic transition. These reductions are easily checkable and preserve deadlocks, Petri nets liveness and any LTL formula that do not observe the modied transitions. Furthermore, they can be combined with others kinds of reductions such like partial-order techniques to obtain very eectiv e reductions. We propose in this paper to adapt these reduc- tions to Promela specications by proposing some simple rules which give the possibility to automatically infer atomic steps in the Promela model while preserving the checked property. We demonstrate on typical example the eciency of this approach and we propose some perspectives of this work.
  • Source
    [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.