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
来源
PROCEEDINGS OF THE FIFTEENTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS (EUROSYS'20) | 2020年
基金
美国国家科学基金会;
关键词
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
相关论文
共 42 条
  • [1] Abramson D., 2006, Intel Technology Journal
  • [2] [Anonymous], 2020, MOUSSE SOURCE CODE
  • [3] [Anonymous], 2019, NOKIA 9 PUREVIEW
  • [4] [Anonymous], 2019, SYMBION FUSING CONCR
  • [5] Arzt Steven, 2014, P ACM PLDI
  • [6] Avgerinos T., 2011, P INT SOC NDSS
  • [7] Avgerinos Thanassis., 2014, Commun. ACM
  • [8] Bellard F., 2005, USENIX ATC FREENIX T
  • [9] Bellard F., 2020, TINY CODE GENERATOR
  • [10] Ben-Yehuda M., 2010, P USENIX OSDI