Sikraken: Symbolic Execution using Constraint Logic Programming for Generating Test Inputs (Competition Contribution)
摘要
Sikraken is a novel prototype tool for generating test inputs from C source code, aiming to achieve high branch coverage. After minimal pre-processing, it performs the symbolic execution of C code using Prolog and relies on interval constraints resolution using Constraint Logic Programming (CLP) for solving arithmetic Path Conditions to generate test inputs that can achieve high branch coverage by construction. Standard Prolog backtracking is used as early as possible on sub-paths detected as infeasible, and standard instantiation techniques are used on successful test input generation. Sikraken has a relatively compact code size and has significant potential for handling more C constructs using user-defined constraints and exploring better path search strategies and input instantiation techniques.