Scaling symbolic execution using staged analysis

被引:4
|
作者
Siddiqui, Junaid Haroon [1 ]
Khurshid, Sarfraz [2 ]
机构
[1] DHA, LUMS Sch Sci & Engn, Lahore, Pakistan
[2] Univ Texas Austin, Austin, TX 78712 USA
基金
美国国家科学基金会;
关键词
Software testing; Symbolic execution; Staged analysis;
D O I
10.1007/s11334-013-0196-9
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Recent advances in constraint solving technology and raw computation power have led to a substantial increase in the effectiveness of techniques based on symbolic execution for systematic bug finding. However, scaling symbolic execution remains a challenging problem. We present a novel approach to increase the efficiency of symbolic execution for systematic testing of object-oriented programs. Our insight is that we can apply symbolic execution in stages, rather than the traditional approach of applying it all at once, to compute abstract symbolic inputs that can later be shared across different methods to test them systematically. For example, a class invariant can provide the basis of generating abstract symbolic tests that are then used to symbolically execute several methods that require their inputs to satisfy the invariant. We present an experimental evaluation to compare our approach against KLEE, a state-of-the-art implementation of symbolic execution. Results show that our approach enables significant savings in the cost of systematic testing using symbolic execution.
引用
收藏
页码:119 / 131
页数:13
相关论文
共 50 条
  • [41] Using Metamorphic Testing to Improve Dynamic Symbolic Execution
    Alatawi, Eman
    Miller, Tim
    Sondergaard, Harald
    [J]. 2015 24TH AUSTRALASIAN SOFTWARE ENGINEERING CONFERENCE (ASWEC 2015), 2015, : 38 - 47
  • [42] VALIDATION OF CONCURRENT ADA PROGRAMS USING SYMBOLIC EXECUTION
    MORASCA, S
    PEZZE, M
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1989, 387 : 467 - 486
  • [43] Using static symbolic execution to detect buffer overflows
    I. A. Dudina
    A. A. Belevantsev
    [J]. Programming and Computer Software, 2017, 43 : 277 - 288
  • [44] Augmenting Equivalent Mutant Dataset Using Symbolic Execution
    Chung, Seungjoon
    Yoo, Shin
    [J]. 2022 IEEE 15TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW 2022), 2022, : 150 - 159
  • [45] Interactive verification of concurrent systems using symbolic execution
    Baeumler, Simon
    Balser, Michael
    Nafz, Florian
    Reif, Wolfgang
    Schellhorn, Gerhard
    [J]. AI COMMUNICATIONS, 2010, 23 (2-3) : 285 - 307
  • [46] USING SYMBOLIC EXECUTION FOR VERIFICATION OF ADA TASKING PROGRAMS
    DILLON, LK
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1990, 12 (04): : 643 - 669
  • [47] Quantum symbolic execution
    Nan, Jiang
    Zichen, Wang
    Jian, Wang
    [J]. QUANTUM INFORMATION PROCESSING, 2023, 22 (10)
  • [48] Relational Symbolic Execution
    Farina, Gian Pietro
    Chong, Stephen
    Gaboardi, Marco
    [J]. PROCEEDINGS OF THE 21ST INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING (PPDP 2019), 2019,
  • [49] Symbolic Execution with CEGAR
    Beyer, Dirk
    Lemberger, Thomas
    [J]. LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION AND VALIDATION: FOUNDATIONAL TECHNIQUES, PT I, 2016, 9952 : 195 - 211
  • [50] Towards a tool for rigorous, automated code comprehension using symbolic execution and semantic analysis
    Stewart, MEM
    [J]. 29th Annual IEEE/NASA Software Engineering Workshop, Proceedings, 2005, : 89 - 96