Elsevier

Theoretical Computer Science

Volume 688, 6 August 2017, Pages 24-48
Theoretical Computer Science

Efficient abstraction algorithms for predicate detection

https://doi.org/10.1016/j.tcs.2015.12.037Get rights and content
Under an Elsevier user license
open archive

Abstract

Analyzing a distributed computation is a hard problem in general due to the combinatorial explosion in the size of the state-space with the number of processes in the system. By abstracting the computation, unnecessary state explorations can be avoided. Computation slicing is an approach for abstracting distributed computations with respect to a given predicate. To detect a predicate in a timely manner during run-time verification, it is important to be able to compute the slice in an incremental manner as and when a new event is generated in the system. In this work, we present several online abstraction algorithms for computing the slice of a distributed computation with respect to regular predicates and its temporal extensions. The family of regular predicates is fairly rich and covers many commonly used predicates for run-time verification. We first present several online algorithms for computing the slice with respect to certain temporal logical regular predicates all of which are centralized. We then present a distributed algorithm for computing the slice with respect to a regular state based predicate; it distributes the work and storage requirements across the system, thus reducing the space and computation complexity per process. We also extend the slicing technique to non-regular predicates by presenting algorithms for computing the slice for two temporal logic operators when the predicate used in the operator is not regular.

Keywords

Predicate detection
Temporal logic
Online algorithm
Distributed algorithm

Cited by (0)

Supported by NSF CNS-1346245, NSF CNS-1115808, and the Cullen Trust for Higher Education Endowed Professorship. Parts of this work appeared in the Proceedings of the 32nd IEEE Symposium on Reliable Distributed Systems (SRDS), 2013 and the Proceedings of the 15th International Conference on Distributed Computing and Networking (ICDCN), 2014.