Stateful Dynamic Partial Order Reduction for Model Checking Event-Driven Applications that Do Not Terminate

11/09/2021
by   Rahmadi Trimananda, et al.
0

Event-driven architectures are broadly used for systems that must respond to events in the real world. Event-driven applications are prone to concurrency bugs that involve subtle errors in reasoning about the ordering of events. Unfortunately, there are several challenges in using existing model-checking techniques on these systems. Event-driven applications often loop indefinitely and thus pose a challenge for stateless model checking techniques. On the other hand, deploying purely stateful model checking can explore large sets of equivalent executions. In this work, we explore a new technique that combines dynamic partial order reduction with stateful model checking to support non-terminating applications. Our work is (1) the first dynamic partial order reduction algorithm for stateful model checking that is sound for non-terminating applications and (2) the first dynamic partial reduction algorithm for stateful model checking of event-driven applications. We experimented with the IoTCheck dataset: a study of interactions in smart home app pairs. This dataset consists of app pairs originated from 198 real-world smart home apps. Overall, our DPOR algorithm successfully reduced the search space for the app pairs, enabling 69 pairs of apps that did not finish without DPOR to finish and providing a 7X average speedup.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/29/2023

Tailoring Stateless Model Checking for Event-Driven Multi-Threaded Programs

Event-driven multi-threaded programming is an important idiom for struct...
research
06/27/2011

Theory and Algorithms for Partial Order Based Reduction in Planning

Search is a major technique for planning. It amounts to exploring a stat...
research
10/22/2018

IoTSan: Fortifying the Safety of IoT Systems

Today's IoT systems include event-driven smart applications (apps) that ...
research
01/26/2018

Invariant Checking of NRA Transition Systems via Incremental Reduction to LRA with EUF

Model checking invariant properties of designs, represented as transitio...
research
04/29/2022

MET: Model Checking-Driven Explorative Testing of CRDT Designs and Implementations

Internet-scale distributed systems often replicate data at multiple geog...
research
10/22/2019

The Inconsistent Labelling Problem of Stutter-Preserving Partial-Order Reduction

In model checking, partial-order reduction (POR) is an effective techniq...
research
02/17/2018

Statistical Reasoning: Choosing and Checking the Ingredients, Inferences Based on a Measure of Statistical Evidence with Some Applications

The features of a logically sound approach to a theory of statistical re...

Please sign up or login with your details

Forgot password? Click here to reset