跳到主要导航 跳到搜索 跳到主要内容

Path-Sensitive and Alias-Aware Typestate Analysis for Detecting OS Bugs

  • Tsinghua University
  • University of Technology Sydney

科研成果: 书/报告/会议事项章节会议稿件同行评审

摘要

Operating system (OS) is the cornerstone for modern computer systems. It manages devices and provides fundamental service for user-level applications. Thus, detecting bugs in OSes is important to improve reliability and security of computer systems. Static typestate analysis is a common technique for detecting different types of bugs, but it is often inaccurate or unscalable for large-size OS code, due to imprecision of identifying alias relationships as well as high costs of typestate tracking and path-feasibility validation. In this paper, we present PATA, a novel path-sensitive and aliasaware typestate analysis framework to detect OS bugs. To improve the precision of identifying alias relationships in OS code, PATA performs a path-based alias analysis based on control-flow paths and access paths. With these alias relationships, PATA reduces the costs of typestate tracking and path-feasibility validation, to boost the efficiency of path-sensitive typestate analysis for bug detection. We have evaluated PATA on the Linux kernel and three popular IoT OSes (Zephyr, RIOT and TencentOS-Tiny) to detect three common types of bugs (null-pointer dereferences, uninitialized variable accesses and memory leaks). PATA finds 574 real bugs with a false positive rate of 28%. 206 of these bugs have been confirmed by the developers of the four OSes.We also compare PATA to seven state-of-The-Art static approaches (Cppcheck, Coccinelle, Smatch,CSA, Infer, Saber and SVF). PATA finds many real bugs missed by them, with a lower false positive rate.

源语言英语
主期刊名ASPLOS 2022 - Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems
编辑Babak Falsafi, Michael Ferdman, Shan Lu, Thomas F. Wenisch
出版商Association for Computing Machinery
859-872
页数14
ISBN(电子版)9781450392051
DOI
出版状态已出版 - 22 2月 2022
已对外发布
活动27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2022 - Lausanne,Hybrid, 瑞士
期限: 28 2月 20224 3月 2022

出版系列

姓名International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS

会议

会议27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2022
国家/地区瑞士
Lausanne,Hybrid
时期28/02/224/03/22

指纹

探究 'Path-Sensitive and Alias-Aware Typestate Analysis for Detecting OS Bugs' 的科研主题。它们共同构成独一无二的指纹。

引用此