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 条
  • [21] A Preprocessing Method of Test Input Generation by Symbolic Execution for Enterprise Application
    Ohbayashi, Hiroki
    Kanuka, Hideyuki
    Okamoto, Chikashi
    2018 25TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2018), 2018, : 717 - 718
  • [22] Strategies for scalable symbolic execution-driven test generation for programs
    KRISHNAMOORTHY Saparya
    HSIAO Michael S.
    LINGAPPAN Loganathan
    ScienceChina(InformationSciences), 2011, 54 (09) : 1797 - 1812
  • [23] BLISS: Improved Symbolic Execution by Bounded Lazy Initialization with SAT Support
    Rosner, Nicolas
    Geldenhuys, Jaco
    Aguirre, Nazareno M.
    Visser, Willem
    Frias, Marcelo F.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2015, 41 (07) : 639 - 660
  • [24] Path-guided conformance test case generation for models with data and time using symbolic execution techniques
    Bannour, Boutheina
    Lapitre, Arnault
    Le Gall, Pascale
    SCIENCE OF COMPUTER PROGRAMMING, 2025, 243
  • [25] Quantifying the Characteristics of Java']Java Programs that May Influence Symbolic Execution from a Test Data Generation Perspective
    Eler, Marcelo M.
    Endo, Andre T.
    Durelli, Vinicius H. S.
    2014 IEEE 38TH ANNUAL INTERNATIONAL COMPUTERS, SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), 2014, : 181 - 190
  • [26] BigTest: A Symbolic Execution Based Systematic Test Generation Tool for Apache Spark
    Gulzar, Muhammad Ali
    Musuvathi, Madanlal
    Kim, Miryung
    2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2020), 2020, : 61 - 64
  • [27] Characteristic Studies of Loop Problems for Structural Test Generation via Symbolic Execution
    Xiao, Xusheng
    Li, Sihan
    Xie, Tao
    Tillmann, Nikolai
    2013 28TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2013, : 246 - 256
  • [28] Test-Case Generation and Bug-Finding through Symbolic Execution
    Bester, W. H. K.
    Inggs, C. P.
    Visser, W. C.
    PROCEEDINGS OF THE SOUTH AFRICAN INSTITUTE FOR COMPUTER SCIENTISTS AND INFORMATION TECHNOLOGISTS CONFERENCE, 2012, : 1 - 9
  • [29] Improving Search-based Test Suite Generation with Dynamic Symbolic Execution
    Galeotti, Juan Pablo
    Fraser, Gordon
    Arcuri, Andrea
    2013 IEEE 24TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2013, : 360 - 369
  • [30] Generating Test Data Using Symbolic Execution: Challenges with Floating Point Data Types
    Prelgauskas, Justinas
    Bareisa, Eduardas
    INFORMATION AND SOFTWARE TECHNOLOGIES, 2012, 319 : 267 - 274