[Remote] OOM-Guard: Towards Improving The Ergonomics of Rust OOM Handling via A Reservation-based Approach
Out of memory (OOM) is an exceptional system state where any further memory allocation requests may fail. Such allocation failures would crash the process or system if not handled properly, and they may also lead to an inconsistent program state that cannot be recovered easily. Current mechanisms for preventing such hazards highly rely on the manual effort of the programmers themselves. This paper studies the OOM issues of Rust, which is an emerging system programming language that stresses the importance of memory safety but still lacks handy mechanisms to handle OOM well. Even worse, Rust employs an infallible mode of memory allocations by default. As a result, the program written by Rust would simply abort itself when OOM occurs. Such crashes would lead to critical robustness issues for services or modules of operating systems. We propose OOM-Guard, a handy approach for Rust programmers to handle OOM. OOM-Guard is in nature a reservation-based approach that aims to convert the handlings of many possible failed memory allocations into handlings of a smaller number of reservations. In order to achieve efficient reservation, OOM-Guard incorporates a subtle cost analysis algorithm based on static analysis and a proxy allocator. We then apply OOM-Guard to two well-known Rust projects, Bento and rCore. Results show that OOM-Guard can largely reduce developers’ efforts for handling OOM and incurs trivial overhead in both memory space and execution time.
Wed 6 DecDisplayed time zone: Pacific Time (US & Canada) change
11:00 - 12:30 | Program Analysis IIResearch Papers / Journal First at Golden Gate C3 Chair(s): Nico Rosner Amazon Web Services | ||
11:00 15mTalk | [Remote] OOM-Guard: Towards Improving The Ergonomics of Rust OOM Handling via A Reservation-based Approach Research Papers Chengjun Chen Fudan University; Ant Group, Zhicong Zhang Fudan University, Hongliang Tian Ant Group, Shoumeng Yan Ant Group, Hui Xu Fudan University Media Attached | ||
11:15 15mTalk | [Remote] DeepInfer: Deep Type Inference from Smart Contract Bytecode Research Papers Kunsong Zhao The Hong Kong Polytechnic University, Zihao Li The Hong Kong Polytechnic Universituy, Jianfeng Li Xi’an Jiaotong University, He Ye KTH Royal Institute of Technology, Xiapu Luo Hong Kong Polytechnic University, Ting Chen University of Electronic Science and Technology of China Media Attached | ||
11:30 15mTalk | Statistical Type Inference for Incomplete Programs Research Papers Yaohui Peng School of Computer Science, Wuhan University, Jing Xie School of Computer Science, Wuhan University, Qiongling Yang School of Computer Science, Wuhan University, Hanwen Guo School of Computer Science, Wuhan University, Qingan Li School of Computer Science, Wuhan University, Jingling Xue School of Computer Science and Engineering, UNSW Sydney, YUAN Mengting School of Computer Science, Wuhan University, Wuhan, China Media Attached | ||
11:45 15mTalk | Demystifying Hidden Sensitive Operations in Android apps Journal First Xiaoyu Sun Australian National University, Australia, Xiao Chen Monash University, Li Li Beihang University, Haipeng Cai Washington State University, John Grundy Monash University, Jordan Samhi University of Luxembourg, Tegawendé F. Bissyandé University of Luxembourg, Jacques Klein University of Luxembourg Media Attached | ||
12:00 15mTalk | DeMinify: Neural Variable Name Recovery and Type Inference Research Papers Yi Li New Jersey Institute of Technology, Aashish Yadavally The University of Texas at Dallas, Jiaxing Zhang New Jersey Institute of Technology, Shaohua Wang Central University of Finance and Economics , Tien N. Nguyen University of Texas at Dallas Media Attached |