article Open access

PBE-Based Selective Abstraction and Refinement for Efficient Property Falsification of Embedded Software

  • Proceedings of the ACM on software engineering.
  • Association for Computing Machinery
Research footprint

At a glance

Citations
1
References
45
Comments
0
Paper overview

Abstract

Comprehensive verification/falsification of embedded software is challenging and often impossible mainly due to the typical characteristics of embedded software, such as the use of global variables, reactive behaviors, and its (soft or hard) real-time requirements, to name but a few. Abstraction is one of the major solutions to this problem, but existing proven abstraction techniques are not effective in this domain as they are uniformly applied to the entire program and often require a large number of refinements to find true alarms. This work proposes a domain-specific solution for efficient property falsification based on the observation that embedded software typically consists of a number of user-defined auxiliary functions, many of which may be loosely coupled with the main control logic. Our approach selectively abstracts auxiliary functions using function summaries synthesized by Programming-By-Example (PBE), which reduces falsification complexity as well as the number of refinements. The drawbacks of using PBE-based function summaries, which are neither sound nor complete, for abstraction are counteracted by symbolic alarm filtering and novel PBE-based refinements for function summaries. We demonstrate that the proposed approach has comparable performance to the state-of-the-art model checkers on SV-COMP benchmark programs and outperforms them on a set of typical embedded software in terms of both falsification efficiency and scalability.

Record transparency

Publication details

DOI
10.1145/3643740
OpenAlex
W4400583101
Document type
article
Language
EN
Source
Proceedings of the ACM on software engineering.
Last metadata update
Community

Comments

Log in to join the discussion.

  1. No comments yet. Start the discussion.