Concolic Testing Heap-Manipulating Programs

07/12/2019
by   Long H. Pham, et al.
0

Concolic testing is a test generation technique which works effectively by integrating random testing generation and symbolic execution. Existing concolic testing engines focus on numeric programs. Heap-manipulating programs make extensive use of complex heap objects like trees and lists. Testing such programs is challenging due to multiple reasons. Firstly, test inputs for such program are required to satisfy non-trivial constraints which must be specified precisely. Secondly, precisely encoding and solving path conditions in such programs are challenging and often expensive. In this work, we propose the first concolic testing engine called CSF for heap-manipulating programs based on separation logic. CSF effectively combines specification-based testing and concolic execution for test input generation. It is evaluated on a set of challenging heap-manipulating programs. The results show that CSF generates valid test inputs with high coverage efficiently. Furthermore, we show that CSF can be potentially used in combination with precondition inference tools to reduce the user effort.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/16/2017

Enhancing Symbolic Execution of Heap-based Programs with Separation Logic for Test Input Generation

Symbolic execution is a well established method for test input generatio...
research
12/10/2021

Test-Case Generation for Finding Neural Network Bugs

As neural networks are increasingly included as core components of safet...
research
07/29/2019

A Case Study on Automated Fuzz Target Generation for Large Codebases

Fuzz Testing is a largely automated testing technique that provides rand...
research
02/17/2020

An SMT-Based Concolic Testing Tool for Logic Programs

Concolic testing mixes symbolic and concrete execution to generate test ...
research
08/02/2020

Concolic Testing in CLP

Concolic testing is a popular software verification technique based on a...
research
06/05/2022

Geometric Theory for Program Testing

Formal methods for verification of programs are extended to testing of p...
research
09/24/2021

Test Scenario Generation for Context-Oriented Programs

Their highly adaptive nature and the combinatorial explosion of possible...

Please sign up or login with your details

Forgot password? Click here to reset