1,277 research outputs found
Monitoring Partially Synchronous Distributed Systems using SMT Solvers
In this paper, we discuss the feasibility of monitoring partially synchronous
distributed systems to detect latent bugs, i.e., errors caused by concurrency
and race conditions among concurrent processes. We present a monitoring
framework where we model both system constraints and latent bugs as
Satisfiability Modulo Theories (SMT) formulas, and we detect the presence of
latent bugs using an SMT solver. We demonstrate the feasibility of our
framework using both synthetic applications where latent bugs occur at any time
with random probability and an application involving exclusive access to a
shared resource with a subtle timing bug. We illustrate how the time required
for verification is affected by parameters such as communication frequency,
latency, and clock skew. Our results show that our framework can be used for
real-life applications, and because our framework uses SMT solvers, the range
of appropriate applications will increase as these solvers become more
efficient over time.Comment: Technical Report corresponding to the paper accepted at Runtime
Verification (RV) 201
Necessary and Sufficient Conditions on Partial Orders for Modeling Concurrent Computations
Partial orders are used extensively for modeling and analyzing concurrent
computations. In this paper, we define two properties of partially ordered
sets: width-extensibility and interleaving-consistency, and show that a partial
order can be a valid state based model: (1) of some synchronous concurrent
computation iff it is width-extensible, and (2) of some asynchronous concurrent
computation iff it is width-extensible and interleaving-consistent. We also
show a duality between the event based and state based models of concurrent
computations, and give algorithms to convert models between the two domains.
When applied to the problem of checkpointing, our theory leads to a better
understanding of some existing results and algorithms in the field. It also
leads to efficient detection algorithms for predicates whose evaluation
requires knowledge of states from all the processes in the system
- …