Concolic testing for functional languages

Autor: Nikolaos Papaspyrou, Aggelos Giantsios, Konstantinos Sagonas
Rok vydání: 2017
Předmět:
Zdroj: Science of Computer Programming. 147:109-134
ISSN: 0167-6423
Popis: Concolic testing is a software testing technique that simultaneously combines concrete execution of a program (given specific input, along specific paths) with symbolic execution (generating new test inputs that explore other paths, which gives better path coverage than random test case generation). So far, concolic testing has been applied, mainly at the level of bytecode or assembly code, to programs written in imperative languages that manipulate primitive data types such as integers and arrays. In this article, we demonstrate its application to a functional programming language core, the functional subset of Core Erlang, that supports pattern matching, structured recursive data types such as lists, recursion and higher-order functions. We present CutEr, a tool implementing this testing technique, and describe its architecture, the challenges that it needs to address, its current limitations, and report some experiences from its use.
Databáze: OpenAIRE