Safe Execution of Concurrent Programs by Enforcement of Scheduling Constraints

09/06/2018
by   Patrick Metzler, et al.
0

Automated software verification of concurrent programs is challenging because of exponentially growing state spaces. Verification techniques such as model checking need to explore a large number of possible executions that are possible under a non-deterministic scheduler. State space reduction techniques such as partial order reduction simplify the verification problem, however, the reduced state space may still be exponentially large and intractable. This paper discusses Iteratively Relaxed Scheduling, a framework that uses scheduling constraints in order to simplify the verification problem and enable automated verification of programs which could not be handled with fully non-deterministic scheduling. Program executions are safe as long as the same scheduling constraints are enforced under which the program has been verified, e.g., by instrumenting a program with additional synchronization. As strict enforcement of scheduling constraints may induce a high execution time overhead, we present optimizations over a naive solution that reduce this overhead. Our evaluation of a prototype implementation on well-known benchmark programs shows the effect of scheduling constraints on the execution time overhead and how this overhead can be reduced by relaxing and choosing constraints.

READ FULL TEXT
research
06/01/2021

Modular Verification of Concurrent Programs via Sequential Model Checking

This work utilizes the plethora of work on verification of sequential pr...
research
05/13/2021

Stateless Model Checking under a Reads-Value-From Equivalence

Stateless model checking (SMC) is one of the standard approaches to the ...
research
08/24/2017

Towards Evaluating Size Reduction Techniques for Software Model Checking

Formal verification techniques are widely used for detecting design flaw...
research
12/28/2021

Syntactic Regions for Concurrent Programs

In order to gain a better understanding of the state space of programs, ...
research
06/14/2020

Probabilistic Models for the Execution Time in Stochastic Scheduling

The execution time of programs is a key element in many areas of compute...
research
04/10/2017

ROSA: R Optimizations with Static Analysis

R is a popular language and programming environment for data scientists....
research
08/07/2018

A Spin-based model checking for the simple concurrent program on a preemptive RTOS

We adapt an existing preemptive scheduling model of RTOS kernel by eChro...

Please sign up or login with your details

Forgot password? Click here to reset