Concolic testing for functional languages
Autor: | Nikolaos Papaspyrou, Aggelos Giantsios, Konstantinos Sagonas |
---|---|
Rok vydání: | 2017 |
Předmět: |
Functional programming
Theoretical computer science Programming language Computer science White-box testing Erlang (programming language) 02 engineering and technology Symbolic execution computer.software_genre Data type Bytecode Imperative programming 020204 information systems 0202 electrical engineering electronic engineering information engineering Concolic testing 020201 artificial intelligence & image processing computer Software computer.programming_language |
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 |
Externí odkaz: |