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.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Sikraken: Symbolic Execution using Constraint Logic Programming for Generating Test Inputs (Competition Contribution)

  • Christophe Meudec

摘要

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.