Mousse: A System for Selective Symbolic Execution of Programs with Untamed Environments

被引:8
|
作者
Liu, Yingtong [1 ]
Hung, Hsin-Wei [1 ]
Sani, Ardalan Amiri [1 ]
机构
[1] Univ Calif Irvine, Irvine, CA 92717 USA
基金
美国国家科学基金会;
关键词
selective symbolic execution; program environment; program analysis;
D O I
10.1145/3342195.3387556
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Selective symbolic execution (SSE) is a powerful program analysis technique for exploring multiple execution paths of a program. However, it faces a challenge in analyzing programs with environments that cannot be modeled nor virtualized. Examples include OS services managing I/O devices, software frameworks for accelerators, and specialized applications. We introduce Mousse, a system for analyzing such programs using SSE. Mousse uses novel solutions to overcome the above challenge. These include a novel process level SSE design, environment-aware concurrent execution, and distributed execution of program paths. We use Mousse to comprehensively analyze five OS services in three smartphones. We perform bug and vulnerability detection, taint analysis, and performance profiling. Our evaluation shows that Mousse outperforms alternative solutions in terms of performance and coverage.
引用
收藏
页数:15
相关论文
共 50 条
  • [1] Symbolic Execution for Randomized Programs
    Susag, Zachary
    Lahiri, Sumit
    Hsu, Justin
    Roy, Subhajit
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (OOPSLA):
  • [2] Symbolic execution of programs with strings
    Redelinghuys, Gideon
    Visser, Willem
    Geldenhuys, Jaco
    PROCEEDINGS OF THE SOUTH AFRICAN INSTITUTE FOR COMPUTER SCIENTISTS AND INFORMATION TECHNOLOGISTS CONFERENCE, 2012, : 139 - 148
  • [3] On Symbolic Execution of Decompiled Programs
    Korencik, Lukas
    Rockai, Petr
    Lauko, Henrich
    Barnat, Jiri
    2020 IEEE 20TH INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY, AND SECURITY (QRS 2020), 2020, : 265 - 272
  • [4] Symbolic Execution of MPI Programs
    Fu, Xianjin
    Chen, Zhenbang
    Yu, Hengbiao
    Huang, Chun
    Dong, Wei
    Wang, Ji
    2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol 2, 2015, : 809 - 810
  • [5] TESTING MIXAL PROGRAMS BY SYMBOLIC EXECUTION
    ERMAKOV, GV
    PROGRAMMING AND COMPUTER SOFTWARE, 1988, 14 (01) : 1 - 6
  • [6] Testing MIXAL programs by symbolic execution
    Ermakov, G.V.
    Programming and computer software, 1988, : 1 - 6
  • [7] Symbolic Execution of Programs with Heap Inputs
    Braione, Pietro
    Denaro, Giovanni
    Pezze, Mauro
    2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, : 602 - 613
  • [8] MPISE: Symbolic Execution of MPI Programs
    Fu, Xianjin
    Chen, Zhenbang
    Zhang, Yufeng
    Huang, Chun
    Dong, Wei
    Wang, Ji
    2015 IEEE 16TH INTERNATIONAL SYMPOSIUM ON HIGH ASSURANCE SYSTEMS ENGINEERING (HASE), 2015, : 181 - 188
  • [9] Symbolic Models for Isolated Execution Environments
    Jacomme, Charlie
    Kremer, Steve
    Scerri, Guillaume
    2017 IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY (EUROS&P), 2017, : 530 - 545
  • [10] CRAXDroid: Automatic Android System Testing by Selective Symbolic Execution
    Yeh, Chao-Chun
    Lu, Han-Lin
    Chen, Chun-Yen
    Khor, Kee-Kiat
    Huang, Shih-Kun
    2014 IEEE EIGHTH INTERNATIONAL CONFERENCE ON SOFTWARE SECURITY AND RELIABILITY - COMPANION (SERE-C 2014), 2014, : 140 - 148