Improve Model Testing by Integrating Bounded Model Checking and Coverage Guided Fuzzing

11/09/2022
by   Yixiao Yang, et al.
0

The control logic models built by Simulink or Ptolemy have been widely used in industry scenes. It is an urgent need to ensure the safety and security of the control logic models. Test case generation technologies are widely used to ensure the safety and security. State-of-the-art model testing tools employ model checking techniques or search-based methods to generate test cases. Traditional search based techniques based on Simulink simulation are plagued by problems such as low speed and high overhead. Traditional model checking techniques such as symbolic execution have limited performance when dealing with nonlinear elements and complex loops. Recently, coverage guided fuzzing technologies are known to be effective for test case generation, due to their high efficiency and impressive effects over complex branches of loops. In this paper, we apply fuzzing methods to improve model testing and demonstrate the effectiveness. The fuzzing methods aim to cover more program branches by mutating valuable seeds. Inspired by this feature, we propose a novel integration technology SPsCGF, which leverages bounded model checking for symbolic execution to generate test cases as initial seeds and then conduct fuzzing based upon these worthy seeds. In this manner, our work combines the advantages of the model checking methods and fuzzing techniques in a novel way. Since the control logic models always receive signal inputs, we specifically design novel mutation operators for signals to improve the existing fuzzing method in model testing. Over the evaluated benchmarks which consist of industrial cases, SPsCGF could achieve 8 3x-10x time efficiency compared with the state-of-the-art works.

READ FULL TEXT
research
03/28/2018

Towards Efficient Data-flow Test Data Generation

Data-flow testing (DFT) checks the correctness of variable definitions b...
research
11/20/2020

Experiences from Large-Scale Model Checking: Verification of a Vehicle Control System

In the age of autonomously driving vehicles, functionality and complexit...
research
09/16/2016

Model-based Test Generation for Robotic Software: Automata versus Belief-Desire-Intention Agents

Robotic code needs to be verified to ensure its safety and functional co...
research
03/30/2022

PLCverif: Status of a Formal Verification Tool for Programmable Logic Controller

Programmable Logic Controllers (PLC) are widely used for industrial auto...
research
12/30/2018

A Systematic Literature Review of Automated Techniques for Functional GUI Testing of Mobile Applications

Context. Multiple automated techniques have been proposed and developed ...
research
12/21/2020

FuSeBMC: A White-Box Fuzzer for Finding Security Vulnerabilities in C Programs

We describe and evaluate a novel white-box fuzzer for C programs named F...
research
02/05/2023

JBMC: A Bounded Model Checking Tool for Java Bytecode

JBMC is an open-source SAT- and SMT-based bounded model checking tool fo...

Please sign up or login with your details

Forgot password? Click here to reset