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 条
  • [1] Lazy Counterfactual Symbolic Execution
    Hallahan, William T.
    Xue, Anton
    Bland, Maxwell Troy
    Jhala, Ranjit
    Piskac, Ruzica
    PROCEEDINGS OF THE 40TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '19), 2019, : 411 - 424
  • [2] A test data generation method based on the symbolic execution of the dangerous path
    Meng Yongdang
    PROCEEDINGS OF THE 2016 3RD INTERNATIONAL CONFERENCE ON MATERIALS ENGINEERING, MANUFACTURING TECHNOLOGY AND CONTROL, 2016, 67 : 536 - 540
  • [3] Lazy Symbolic Execution for Enhanced Learning
    Chu, Duc-Hiep
    Jaffar, Joxan
    Murali, Vijayaraghavan
    RUNTIME VERIFICATION, RV 2014, 2014, 8734 : 323 - 339
  • [4] Test Case Generation Using Symbolic Execution
    Pattanaik, Saumendra
    Sahoo, Bidush Kumar
    Panigrahi, Chhabi Rani
    Patnaik, Binod Kumar
    Pati, Bibudhendu
    COMPUTACION Y SISTEMAS, 2022, 26 (02): : 1035 - 1044
  • [5] Parallel symbolic execution for structural test generation
    Dept. of Computer Science and Eng., University of Minnesota, United States
    不详
    ISSTA - Proc. Int. Symp. Softw. Test. Anal., (183-193):
  • [6] Using symbolic execution to guide test generation
    Lee, G
    Morris, J
    Parker, K
    Bundell, GA
    Lam, P
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2005, 15 (01): : 41 - 61
  • [7] Symbolic Execution - An efficient approach for test case generation
    Vengadeswaran, S.
    Geetha, K.
    2013 INTERNATIONAL CONFERENCE ON RECENT TRENDS IN INFORMATION TECHNOLOGY (ICRTIT), 2013, : 575 - 581
  • [8] Scalable Test Generation by Interleaving Concrete and Symbolic Execution
    Qin, Xiaoke
    Mishra, Prabhat
    2014 27TH INTERNATIONAL CONFERENCE ON VLSI DESIGN AND 2014 13TH INTERNATIONAL CONFERENCE ON EMBEDDED SYSTEMS (VLSID 2014), 2014, : 104 - 109
  • [9] Automated Coverage-Driven Test Data Generation Using Dynamic Symbolic Execution
    Su, Ting
    Pu, Geguang
    Fang, Bin
    He, Jifeng
    Yan, Jun
    Jiang, Siyuan
    Zhao, Jianjun
    2014 EIGHTH INTERNATIONAL CONFERENCE ON SOFTWARE SECURITY AND RELIABILITY, 2014, : 98 - 107
  • [10] Unit Test Data Generation for C Using Rule-Directed Symbolic Execution
    Zhang, Ming-Zhe
    Gong, Yun-Zhan
    Wang, Ya-Wen
    Jin, Da-Hai
    JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2019, 34 (03) : 670 - 689