You are required to read and agree to the below before accessing a full-text version of an article in the IDE article repository.

The full-text document you are about to access is subject to national and international copyright laws. In most cases (but not necessarily all) the consequence is that personal use is allowed given that the copyright owner is duly acknowledged and respected. All other use (typically) require an explicit permission (often in writing) by the copyright owner.

For the reports in this repository we specifically note that

  • the use of articles under IEEE copyright is governed by the IEEE copyright policy (available at
  • the use of articles under ACM copyright is governed by the ACM copyright policy (available at
  • technical reports and other articles issued by M‰lardalen University is free for personal use. For other use, the explicit consent of the authors is required
  • in other cases, please contact the copyright owner for detailed information

By accepting I agree to acknowledge and respect the rights of the copyright owner of the document I am about to access.

If you are in doubt, feel free to contact

A Runtime Verification based Concurrency Bug Detector for FreeRTOS Embedded Software

Publication Type:

Journal article


Journal of IEEE Access


When developing embedded software, detecting bugs as early as possible is important. Concurrency bugs is a particularly problematic class of bugs. Several methods have been proposed to detect such bugs, but few of these methods have been implemented in tools and even fewer have been evaluated systematically using realistic software logs. In this paper we present a novel method and tool called DeCoB, which uses runtime verification to detect concurrency bugs in embedded software. DeCoB is tailored for the open source real-time operating system FreeRTOS, and detects and diagnoses concurrency bugs, such as deadlock, starvation, and suspension-based-locking, by analysing runtime traces provided by the Tracealyzer tool, i.e., without debugging and tracing the source code. This paper presents the implementation of the tool in detail, as well as its functional architecture, together with illustrations of its use in practice. The DeCoB tool can be used during program testing for identifying concurrency bugs using information about the software executions. We experimentally evaluate the DeCoB tool using realistic FreeRTOS test scenarios and 21726 automatically generated logs using our own generator based on the UPPAAL model checker. Our results suggest that the DeCoB tool is effective at detecting whether a diverse set of logs contains concurrency bugs.


@article{Abbaspour Asadollah5252,
author = {Sara Abbaspour Asadollah and Eduard Paul Enoiu and Adnan Causevic and Daniel Sundmark and Hans Hansson},
title = {A Runtime Verification based Concurrency Bug Detector for FreeRTOS Embedded Software},
volume = {2},
number = {1},
pages = {1--20},
month = {February},
year = {2019},
journal = {Journal of IEEE Access},
url = {}