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 条
  • [21] Badger: Complexity Analysis with Fuzzing and Symbolic Execution
    Noller, Yannic
    Kersten, Rody
    Pasareanu, Corina S.
    [J]. ISSTA'18: PROCEEDINGS OF THE 27TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, 2018, : 322 - 332
  • [22] PROGRAM TESTING USING SYMBOLIC EXECUTION.
    Borzov, Yu.V.
    [J]. Programming and Computer Software (English Translation of Programmirovanie), 1980, 6 (01): : 39 - 45
  • [23] Using symbolic execution to guide test generation
    Lee, G
    Morris, J
    Parker, K
    Bundell, GA
    Lam, P
    [J]. SOFTWARE TESTING VERIFICATION & RELIABILITY, 2005, 15 (01): : 41 - 61
  • [24] COMBINING STATIC CONCURRENCY ANALYSIS WITH SYMBOLIC EXECUTION
    YOUNG, M
    TAYLOR, RN
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1988, 14 (10) : 1499 - 1511
  • [25] Differential Program Analysis with Fuzzing and Symbolic Execution
    Noller, Yannic
    [J]. PROCEEDINGS OF THE 2018 33RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMTED SOFTWARE ENGINEERING (ASE' 18), 2018, : 944 - 947
  • [26] Malware Analysis with Symbolic Execution and Graph Kernel
    Van Ouytsel, Charles-Henry Bertrand
    Legay, Axel
    [J]. SECURE IT SYSTEMS, NORDSEC 2022, 2022, 13700 : 292 - 310
  • [27] Supporting Algorithm Analysis with Symbolic Execution in Alk
    Lungu, Alexandru-Ioan
    Lucanu, Dorel
    [J]. THEORETICAL ASPECTS OF SOFTWARE ENGINEERING, TASE 2022, 2022, 13299 : 406 - 423
  • [28] C/C plus plus conditional compilation analysis using symbolic execution
    Hu, Y
    Merlo, E
    Dagenais, M
    Lagüe, B
    [J]. INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2000, : 196 - 206
  • [29] Symbolic Types for Lenient Symbolic Execution
    Chang, Stephen
    Knauth, Alex
    Torlak, Emina
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
  • [30] Neuro-Symbolic Execution: Augmenting Symbolic Execution with Neural Constraints
    Shiqi, Shen
    Shinde, Shweta
    Ramesh, Soundarya
    Roychoudhury, Abhik
    Saxena, Prateek
    [J]. 26TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2019), 2019,