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 条
  • [41] FIRVER: Concolic Testing for Systematic Validation of Firmware Binaries
    Alam, Tashfia
    Yang, Zhenkun
    Chen, Bo
    Armour, Nicholas
    Ray, Sandip
    [J]. 27TH ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE, ASP-DAC 2022, 2022, : 352 - 357
  • [42] Concolic Testing of Front-end Java']JavaScript
    Li, Zhe
    Xie, Fei
    [J]. FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, FASE 2023, 2023, 13991 : 67 - 87
  • [43] Concolic Testing for Models of State-Based Systems
    Ahmadi, Reza
    Dingel, Juergen
    [J]. ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2019, : 4 - 15
  • [44] Directed Test Generation using Concolic Testing on RTL models
    Ahmed, Alif
    Farahmandi, Farimah
    Mishra, Prahhat
    [J]. PROCEEDINGS OF THE 2018 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2018, : 1538 - 1543
  • [45] Automated Unit Testing of Large Industrial Embedded Software using Concolic Testing
    Kim, Yunho
    Kim, Youil
    Kim, Taeksu
    Lee, Gunwoo
    Jang, Yoonkyu
    Kim, Moonzoo
    [J]. 2013 28TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2013, : 519 - 528
  • [46] An SMT-Based Concolic Testing Tool for Logic Programs
    Fortz, Sophie
    Mesnard, Fred
    Payet, Etienne
    Perrouin, Gilles
    Vanhoof, Wim
    Vidal, German
    [J]. FUNCTIONAL AND LOGIC PROGRAMMING, FLOPS 2020, 2020, 12073 : 215 - 219
  • [47] Sound and Complete Concolic Testing for Higher-order Functions
    You, Shu-Hung
    Findler, Robert Bruce
    Dimoulas, Christos
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2021, 2021, 12648 : 635 - 663
  • [48] BATON: symphony of random testing and concolic testing through machine learning and taint analysis
    Chen, Bihuan
    Liu, Yang
    Peng, Xin
    Wu, Yijian
    Qin, Shengchao
    [J]. SCIENCE CHINA-INFORMATION SCIENCES, 2023, 66 (03)
  • [49] Incremental Concolic Testing of Register-Transfer Level Designs
    Witharana, Hasini
    Jayasena, Aruna
    Mishra, Prabhat
    [J]. ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS, 2024, 29 (03)
  • [50] Poster: Combining Fuzzing with Concolic Execution for IoT Firmware Testing
    Yu, Jihyeon
    Kim, Juhwan
    Yun, Yeohoon
    Yun, Joobeom
    [J]. PROCEEDINGS OF THE 2023 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, CCS 2023, 2023, : 3564 - 3566