Abstraction-driven Concolic Testing

被引:22
|
作者
Daca, Przemyslaw [1 ]
Gupta, Ashutosh [2 ]
Henzinger, Thomas A. [1 ]
机构
[1] IST Austria, Klosterneuburg, Austria
[2] Tata Inst Fundamental Res, Homi Bhabha Rd, Bombay 400005, Maharashtra, India
关键词
GENERATION; CHECKING;
D O I
10.1007/978-3-662-49122-5_16
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Concolic testing is a promising method for generating test suites for large programs. However, it suffers from the path-explosion problem and often fails to find tests that cover difficult-to-reach parts of programs. In contrast, model checkers based on counterexample-guided abstraction refinement explore programs exhaustively, while failing to scale on large programs with precision. In this paper, we present a novel method that iteratively combines concolic testing and model checking to find a test suite for a given coverage criterion. If concolic testing fails to cover some test goals, then the model checker refines its program abstraction to prove more paths infeasible, which reduces the search space for concolic testing. We have implemented our method on top of the concolictesting tool Crest and the model checker CpaChecker. We evaluated our tool on a collection of programs and a category of SvComp benchmarks. In our experiments, we observed an improvement in branch coverage compared to Crest from 48% to 63% in the best case, and from 66% to 71% on average.
引用
收藏
页码:328 / 347
页数:20
相关论文
共 50 条
  • [21] In-Situ Concolic Testing of JavaScript
    Li, Zhe
    Xie, Fei
    [J]. Proceedings - 2023 IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2023, 2023, : 236 - 247
  • [22] An improved distributed concolic testing approach
    Godboley, Sangharatna
    Mohapatra, Durga Prasad
    Das, Avijit
    Mall, Rajib
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2017, 47 (02): : 311 - 342
  • [23] Concolic Testing of Functional Logic Programs
    Tikovsky, Jan Rasmus
    [J]. DECLARATIVE PROGRAMMING AND KNOWLEDGE MANAGEMENT, DECLARE 2017, 2018, 10997 : 169 - 186
  • [24] Scalable Concolic Testing of RTL Models
    Lyu, Yangdi
    Mishra, Prabhat
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 2021, 70 (07) : 979 - 991
  • [25] GUIDESE: Annotations for Guiding Concolic Testing
    Sen, Koushik
    Tanno, Haruto
    Zhang, Xiaojing
    Hoshino, Takashi
    [J]. 10TH INTERNATIONAL WORKSHOP ON AUTOMATION OF SOFTWARE TEST AST 2015, 2015, : 23 - 27
  • [26] COMPI: Concolic Testing for MPI Applications
    Li, Hongbo
    Li, Sihuan
    Benavides, Zachary
    Chen, Zizhong
    Gupta, Rajiv
    [J]. 2018 32ND IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), 2018, : 865 - 874
  • [27] Automatically Generating Search Heuristics for Concolic Testing
    Cha, Sooyoung
    Hong, Seongjoon
    Lee, Junhee
    Oh, Hakjoo
    [J]. PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2018, : 1244 - 1254
  • [28] Concolic Testing for Deep Neural Networks
    Sun, Youcheng
    Wu, Min
    Ruan, Wenjie
    Huang, Xiaowei
    Kwiatkowska, Marta
    Kroening, Daniel
    [J]. PROCEEDINGS OF THE 2018 33RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMTED SOFTWARE ENGINEERING (ASE' 18), 2018, : 109 - 119
  • [29] Concolic testing based on patch comparisons
    Wang, Xin
    Guo, Tao
    Dong, Guowei
    Shao, Shuai
    Xin, Wei
    [J]. Qinghua Daxue Xuebao/Journal of Tsinghua University, 2013, 53 (12): : 1737 - 1742
  • [30] Enhancing Test Cases generated by Concolic Testing
    Dutta, Arpita
    Kumar, Shubham
    Godboley, Sangharatna
    [J]. PROCEEDINGS OF THE 12TH INNOVATIONS ON SOFTWARE ENGINEERING CONFERENCE (ISEC), 2019,