Concolic Testing for Functional Languages

被引:9
|
作者
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
关键词
D O I
10.1145/2790449.2790519
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Concolic testing is a software testing technique combining concrete execution of a program (given specific input, along specific paths) with symbolic execution (generating new test inputs that give better path coverage than random test case generation). Concolic testing has so far 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 paper, we demonstrate its application to a functional programming language core, a subset of the core language of Erlang, that supports pattern matching, structured recursive data types such as lists, recursion and higher-order functions. Moreover, we present CutEr, a tool implementing this testing technique. We describe CutEr's architecture, the challenges that need to be addressed by such a tool, its current limitations, and report some experiences from its use.
引用
收藏
页码:137 / 148
页数:12
相关论文
共 50 条
  • [31] Using Concolic Testing to Refine Vulnerability Profiles in FUZZBUSTER
    Musliner, David J.
    Rye, Jeffrey M.
    Marble, Tom
    [J]. 2012 IEEE SIXTH INTERNATIONAL CONFERENCE ON SELF-ADAPTIVE AND SELF-ORGANIZING SYSTEMS WORKSHOPS (SASOW), 2012, : 9 - 14
  • [32] LLSPLAT: Improving Concolic Testing by Bounded Model Checking
    Gao, Min
    He, Lei
    Majumdar, Rupak
    Wang, Zilong
    [J]. 2016 IEEE 16TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2016, : 127 - 136
  • [33] Research on Fuzz Testing Framework based on Concolic Execution
    Xie, Xiong
    Chen, Yuhang
    [J]. INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND APPLICATION ENGINEERING (CSAE), 2017, 190 : 150 - 158
  • [34] On the Completeness of Selective Unification in Concolic Testing of Logic Programs
    Mesnard, Fred
    Payet, Etienne
    Vidal, German
    [J]. LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION, LOPSTR 2016, 2017, 10184 : 205 - 221
  • [35] Grey-box Concolic Testing on Binary Code
    Choi, Jaeseung
    Jang, Joonun
    Han, Choongwoo
    Cha, Sang Kil
    [J]. 2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2019), 2019, : 736 - 747
  • [36] A Search Strategy Guided By Uncovered Branches For Concolic Testing
    Dong, Qixing
    Yan, Jun
    Zhang, Jian
    Zeng, Fanping
    [J]. 2013 13TH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE (QSIC), 2013, : 21 - 24
  • [37] Concolic Execution in Functional Programming by Program Instrumentation
    Palacios, Adrian
    Vidal, German
    [J]. LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION (LOPSTR 2015), 2015, 9527 : 277 - 292
  • [38] FSCT: A new fuzzy search strategy in concolic testing
    Sabbaghi, Arash
    Kanan, Hamidreza Rashidy
    Keyvanpour, Mohammad Reza
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2019, 107 : 137 - 158
  • [39] Scaling Concolic Testing for the Environment-Intensive Program
    Lei, Xue
    Huang, Wei
    Fan, Wenqing
    Yang, Yixian
    [J]. IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2015, E98D (10): : 1755 - 1764
  • [40] COLT: Extending CONCOLIC Testing to measure LCSAJ Coverage
    Dutta, Arpita
    Godboley, Sangharatna
    Mohapatra, Durga Prasad
    [J]. PROCEEDINGS OF THE 2016 IEEE REGION 10 CONFERENCE (TENCON), 2016, : 373 - 378