Lazy symbolic execution for test data generation

被引:5
|
作者
Lin, M. X. [1 ,2 ]
Chen, Y. L. [1 ,3 ]
Yu, K. [1 ,3 ]
Wu, G. S. [4 ]
机构
[1] Beihang Univ, State Key Lab Software Dev Environm, Beijing, Peoples R China
[2] Beihang Univ, Sch Mech Engn & Automat, Beijing, Peoples R China
[3] Beihang Univ, Sch Comp Sci & Engn, Beijing, Peoples R China
[4] Beijing Univ Posts & Telecommun, Sch Software Engn, Beijing, Peoples R China
关键词
D O I
10.1049/iet-sen.2010.0029
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In the context of test data generation, symbolic execution gets more attention as computing power increases continuously. Experiments show that test generation tools based on symbolic execution can get high coverage and find bugs on real applications. However, symbolic execution still has limitations in handling some complex program structures such as pointers, arrays and library functions. To address the problem, this study proposes a technique called lazy symbolic execution, which combines symbolic execution with a lazy evaluation strategy. The authors approach is motivated by the observation that some program structures can be reasoned about symbolically and the others have to be evaluated concretely. Traditional symbolic execution can cope with the former well, whereas lazy symbolic evaluation is used to handle the latter. However, lazy symbolic evaluation introduces intermediate variables into path constraints. To eliminate those variables, concrete values for some input variables are first obtained by constraint solving or searching processes. Then, the given path is executed again using inputs consisting of concrete and symbolic values. The procedure is repeated until all intermediate variables are wiped out. The authors have implemented a prototype tool and performed some experiments. The empirical results show the effectiveness of their approach.
引用
收藏
页码:132 / 141
页数:10
相关论文
共 50 条
  • [41] Symbolic execution techniques for test purpose definition
    Gaston, Christophe
    Le Gall, Pascale
    Rapin, Nicolas
    Touil, Assia
    TESTING OF COMMUNICATION SYSTEMS, PROCEEDINGS, 2006, 3964 : 1 - 18
  • [42] Enhancing Symbolic Execution of Heap-Based Programs with Separation Logic for Test Input Generation
    Pham, Long H.
    Le, Quang Loc
    Phan, Quoc-Sang
    Sun, Jun
    Qin, Shengchao
    AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS (ATVA 2019), 2019, 11781 : 209 - 227
  • [43] An automated testing tool for Java application using symbolic execution based test case generation
    Monpratarnchai, Supasit
    Fujiwara, Shoichiro
    Katayama, Asako
    Uehara, Tadahiro
    Proceedings - Asia-Pacific Software Engineering Conference, APSEC, 2013, 2 : 93 - 98
  • [44] An Automatic Exploit Generation Method Based on Symbolic Execution
    Fang Hao
    Fen-Wenbo
    Fu-Menglin
    2018 EIGHTH INTERNATIONAL CONFERENCE ON INSTRUMENTATION AND MEASUREMENT, COMPUTER, COMMUNICATION AND CONTROL (IMCCC 2018), 2018, : 437 - 440
  • [45] Evaluating Symbolic Execution-based Test Tools
    Cseppento, Lajos
    Micskei, Zoltan
    2015 IEEE 8TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2015,
  • [46] An approach to symbolic test generation
    Rusu, V
    du Bousquet, L
    Jéron, T
    INTEGRATED FORMAL METHODS, PROCEEDINGS, 2000, 1945 : 338 - 357
  • [47] An Automated Testing Tool for Java']Java Application Using Symbolic Execution based Test Case Generation
    Monpratarnchai, Supasit
    Fujiwara, Shoichiro
    Katayama, Asako
    Uehara, Tadahiro
    2013 20TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2013), VOL 2, 2013, : 93 - 98
  • [48] Non-Semantics-Preserving Transformations For Higher-Coverage Test Generation Using Symbolic Execution
    Converse, Hayes
    Olivo, Oswaldo
    Khurshid, Sarfraz
    2017 10TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2017, : 241 - 252
  • [49] A Test Case Auto Generation Algorithm Based On Sensitive Path of Program With Taint Analysis and Symbolic Execution
    Zhang, Xing
    Feng, Chao
    Zhang, Bin
    Zhang, Quan
    2016 INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION SECURITY (CSIS 2016), 2016, : 364 - 370
  • [50] Automated test generation for IEC 61131-3 ST programs via dynamic symbolic execution
    He, Weigang
    Shi, Jianqi
    Su, Ting
    Lu, Zeyu
    Hao, Li
    Huang, Yanhong
    Science of Computer Programming, 2021, 206