u/agumonkeyin r/compsci • Recommends
Concolic Testing of High-Level Languages, Konstantinos Sagonas
#concolictesting#erlang#symbolicexecution
1.6K subscribers • 2 videos on Hallway
Advanced. Deep dive for people who know the field.
1.2K views9 years ago2 recommendations
Tools and practiceProgramming languagesTestingFunctional programmingElixir and Erlang
Konstantinos Sagonas explains how concolic testing can be applied to high-level functional languages like Erlang, demonstrating the CutEr tool.
Concolic testing is a software testing technique that combines concrete execution of a program unit with symbolic execution in an attempt to generate inputs that explore all the paths in this unit. 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 talk, we will describe how concolic testing can be applicable to high-level languages in general and to functional programming languages in particular. At this high level, the concolic engine needs to efficiently support pattern matching, recursive data types such as lists, recursion and higher-order functions. The talk will also include a short demo of CutEr (as in "more cute"), a concolic testing tool for Erlang, and our experiences from its use so far. Kostis Sagonas is an Associate Professor at the the Department of Information Technology of Uppsala University. His research interests are in programming language and software technology. His Ph.D. thesis work was in the implementation of tabling in logic programming. In the last fifteen years he has been heaviily involved in the design and implementation of the concurrent functional language Erlang, having made significant contributions both to the evolution of the language itself (in particular, he has designed its language of types and specs and bitstring pattern matching), its runtime system and virtual machine, its native code compiler (HiPE, ErLLVM), and to static analysis and transformation tools for the language (Dialyzer, TypEr and Tidier). In the last few years he has been working on developing novel techniques and tools for testing concurrent programs (Concuerror, PropEr, CutEr, Nifty, Target and Nidhugg), and the ArgoDSM system for scalable software distributed shared memory.What people say. Recommended as an insightful introduction to concolic testing and path coverage analysis for high-level languages.
u/agumonkeyin r/compsci • Recommends
u/pron98in r/programming • Recommends
On “Rethinking Software Testing: Perspectives from the world of Hardware”
u/pron98in r/programming • Mentions
On “Mutation vs Property Based testing”