Towards Optimal Concolic Testing

被引:45
|
作者
Wang, Xinyu [1 ]
Sun, Jun [2 ]
Chen, Zhenbang [3 ]
Zhang, Peixin [1 ]
Wang, Jingyi [2 ]
Lin, Yun [4 ]
机构
[1] Zhejiang Univ, Hangzhou, Zhejiang, Peoples R China
[2] Singapore Univ Tech & Design, Singapore, Singapore
[3] Natl Univ Def Technol, Changsha, Hunan, Peoples R China
[4] Natl Univ Singapore, Singapore, Singapore
关键词
SYMBOLIC EXECUTION;
D O I
10.1145/3180155.3180177
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Concolic testing integrates concrete execution (e.g., random testing) and symbolic execution for test case generation. It is shown to be more cost-effective than random testing or symbolic execution sometimes. A concolic testing strategy is a function which decides when to apply random testing or symbolic execution, and if it is the latter case, which program path to symbolically execute. Many heuristics-based strategies have been proposed. It is still an open problem what is the optimal concolic testing strategy. In this work, we make two contributions towards solving this problem. First, we show the optimal strategy can be defined based on the probability of program paths and the cost of constraint solving. The problem of identifying the optimal strategy is then reduced to a model checking problem of Markov Decision Processes with Costs. Secondly, in view of the complexity in identifying the optimal strategy, we design a greedy algorithm for approximating the optimal strategy. We conduct two sets of experiments. One is based on randomly generated models and the other is based on a set of C programs. The results show that existing heuristics have much room to improve and our greedy algorithm often outperforms existing heuristics.
引用
收藏
页码:291 / 302
页数:12
相关论文
共 50 条
  • [1] Towards Concolic Testing for Hybrid Systems
    Kong, Pingfan
    Li, Yi
    Chen, Xiaohong
    Sun, Jun
    Sun, Meng
    Wang, Jingyi
    [J]. FM 2016: FORMAL METHODS, 2016, 9995 : 460 - 478
  • [2] Towards Quantification and Visualization of the Effects of Concretization During Concolic Testing
    Tempel, Soren
    Herdt, Vladimir
    Drechsler, Rolf
    [J]. IEEE EMBEDDED SYSTEMS LETTERS, 2022, 14 (04) : 195 - 198
  • [3] Concolic Testing in CLP
    Mesnard, Fred
    Payet, Etienne
    Vidal, German
    [J]. THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2020, 20 (05) : 671 - 686
  • [4] Hybrid concolic testing
    Majumdar, Rupak
    Sen, Koushik
    [J]. ICSE 2007: 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2007, : 416 - +
  • [5] Concolic testing for functional languages
    Giantsios, Aggelos
    Papaspyrou, Nikolaos
    Sagonas, Konstantinos
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2017, 147 : 109 - 134
  • [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] 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
  • [9] 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
  • [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