English

Concolic Testing in CLP

Logic in Computer Science 2020-09-23 v3 Programming Languages Software Engineering

Abstract

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.

Keywords

Cite

@article{arxiv.2008.00421,
  title  = {Concolic Testing in CLP},
  author = {Fred Mesnard and Etienne Payet and German Vidal},
  journal= {arXiv preprint arXiv:2008.00421},
  year   = {2020}
}

Comments

Paper presented at the 36th International Conference on Logic Programming (ICLP 2020), University Of Calabria, Rende (CS), Italy, September 2020, 16 pages