Concolic testing for functional languages

被引:10
|
作者
Giantsios, Aggelos [1 ]
Papaspyrou, Nikolaos [1 ]
Sagonas, Konstantinos [1 ,2 ]
机构
[1] Natl Tech Univ Athens, Sch Elect & Comp Engn, Athens, Greece
[2] Uppsala Univ, Dept Informat Technol, Uppsala, Sweden
关键词
Concolic testing; Symbolic execution; Pattern matching; Erlang; EXECUTION;
D O I
10.1016/j.scico.2017.04.008
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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. (C) 2017 Elsevier B.V. All rights reserved.
引用
收藏
页码:109 / 134
页数:26
相关论文
共 50 条
  • [1] Concolic Testing for Functional Languages
    Giantsios, Aggelos
    Papaspyrou, Nikolaos
    Sagonas, Konstantinos
    [J]. PROCEEDINGS OF THE 17TH INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING (PPDP 2015), 2015, : 137 - 148
  • [2] Concolic Testing of Higher-order Functional Languages
    Sagonas, Konstantinos
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2019, (296): : 2 - 2
  • [3] Concolic Testing of Functional Logic Programs
    Tikovsky, Jan Rasmus
    [J]. DECLARATIVE PROGRAMMING AND KNOWLEDGE MANAGEMENT, DECLARE 2017, 2018, 10997 : 169 - 186
  • [4] Concolic Testing in CLP
    Mesnard, Fred
    Payet, Etienne
    Vidal, German
    [J]. THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2020, 20 (05) : 671 - 686
  • [5] Hybrid concolic testing
    Majumdar, Rupak
    Sen, Koushik
    [J]. ICSE 2007: 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2007, : 416 - +
  • [6] Concolic Testing and Constraint Satisfaction
    Sen, Koushik
    [J]. THEORY AND APPLICATIONS OF SATISFIABILITY TESTING - SAT 2011, 2011, 6695 : 3 - 4
  • [7] Concolic testing in logic programming
    Mesnard, Fred
    Payet, Etienne
    Vidal, German
    [J]. THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2015, 15 : 711 - 725
  • [8] Towards Optimal Concolic Testing
    Wang, Xinyu
    Sun, Jun
    Chen, Zhenbang
    Zhang, Peixin
    Wang, Jingyi
    Lin, Yun
    [J]. PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2018, : 291 - 302
  • [9] Concolic Testing of SystemC Designs
    Lin, Bin
    Cong, Kai
    Yang, Zhenkun
    Liao, Zhigang
    Zhan, Tao
    Havlicek, Christopher
    Xie, Fei
    [J]. 2018 19TH INTERNATIONAL SYMPOSIUM ON QUALITY ELECTRONIC DESIGN (ISQED), 2018, : 1 - 7
  • [10] Challenges and Opportunities with Concolic Testing
    Kannavara, Raghudeep
    Havlicek, Christopher J.
    Chen, Bo
    Tuttle, Mark R.
    Cong, Kai
    Ray, Sandip
    Xie, Fei
    [J]. PROCEEDINGS OF THE 2015 IEEE NATIONAL AEROSPACE AND ELECTRONICS CONFERENCE (NAECON), 2015, : 374 - 378