DeepAI AI Chat
Log In Sign Up

Concolic Testing in CLP

by   Fred Mesnard, et al.

Concolic testing is a popular software verification technique based on a combination of concrete and symbolic execution. Its main focus is finding bugs and generating test cases with the aim of maximizing code coverage. A previous approach to concolic testing in logic programming was not sound because it only dealt with positive constraints (by means of substitutions) but could not represent negative constraints. In this paper, we present a novel framework for concolic testing of CLP programs that generalizes the previous technique. In the CLP setting, one can represent both positive and negative constraints in a natural way, thus giving rise to a sound and (potentially) more efficient technique. Defining verification and testing techniques for CLP programs is increasingly relevant since this framework is becoming popular as an intermediate representation to analyze programs written in other programming paradigms.


page 1

page 2

page 3

page 4


An SMT-Based Concolic Testing Tool for Logic Programs

Concolic testing mixes symbolic and concrete execution to generate test ...

Concolic Testing Heap-Manipulating Programs

Concolic testing is a test generation technique which works effectively ...

Testing Quantum Programs with Multiple Subroutines

Errors in quantum programs are challenging to track down due to the unce...

Robustness Testing of Intermediate Verifiers

Program verifiers are not exempt from the bugs that affect nearly every ...

Towards Trace-based Deductive Verification (Tech Report)

Contracts specifying a procedure's behavior in terms of pre- and postcon...

Assurances in Software Testing: A Roadmap

As software engineering researchers, we already understand how to make t...

Composing bidirectional programs monadically (with appendices)

Software frequently converts data from one representation to another and...