Raisin: Identifying Rare Sensitive Functions for Bug Detection
Mastering the knowledge about the bug-prone functions (i.e., \textit{sensitive functions}) is important to detect bugs. Some automated techniques have been proposed to identify the sensitive functions in large software systems, based on machine learning or natural language processing. However, the existing statistics-based techniques are not directly applicable to a special kind of sensitive functions, i.e., the \textit{rare} sensitive functions, which have very few invocations even in large systems. Unfortunately, the rare ones can also introduce bugs. Therefore, how to effectively identify such functions is a problem deserving attention.
This study is the first to explore the identification of rare sensitive functions. We propose a context-based analogical reasoning technique to automatically infer rare sensitive functions. A \textit{1+context} scheme is devised, where a function and its context are embedded into a pair of vectors, enabling pair-wise analogical reasoning. Considering that the rarity of the functions may lead to low-quality embedding vectors, we propose a weighted subword embedding method that can highlight the semantics of the key subwords to facilitate effective embedding. In addition, frequent sensitive functions are utilized to filter out reasoning candidates. We implement a prototype called Raisin and apply it to identify the rare sensitive functions and detect bugs in large open-source code bases. We successfully discover thousands of previously unknown rare sensitive functions and detect 21 bugs confirmed by the developers. Some of the rare sensitive functions cause bugs even with a solitary invocation in the kernel. It is demonstrated that identifying them is necessary to enhance software reliability.
Fri 19 AprDisplayed time zone: Lisbon change
16:00 - 17:30 | Static Detection TechniquesSoftware Engineering in Practice / Research Track at Eugénio de Andrade Chair(s): Valentina Lenarduzzi University of Oulu | ||
16:00 15mTalk | MalwareTotal: Multi-Faceted and Sequence-Aware Bypass Tactics against Static Malware Detection Research Track Shuai He Huazhong University of Science and Technology, Cai Fu Huazhong University of Science and Technology, Hong Hu Pennsylvania State University, Jiahe Chen Huazhong University of Science and Technology, Jianqiang Lv Huazhong University of Science and Technology, Shuai Jiang Huazhong University of Science and Technology Link to publication | ||
16:15 15mTalk | Semantic-Enhanced Static Vulnerability Detection in Baseband Firmware Research Track Yiming Liu Institute of Information Engineering, Chinese Academy of Sciences, Cen Zhang Nanyang Technological University, Feng Li Key Laboratory of Network Assessment Technology, Institute of Information Engineering, Chinese Academy of Sciences, China; School of CyberSpace Security at University of Chinese Academy of Sciences, China, Yeting Li Institute of Information Engineering at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Jianhua Zhou Key Laboratory of Network Assessment Technology, Institute of Information Engineering, Chinese Academy of Sciences, China, Jian Wang Institute of Information Engineering, Chinese Academy of Sciences, Lanlan Zhan Institute of Information Engineering, Chinese Academy of Sciences, Yang Liu Nanyang Technological University, Wei Huo Institute of Information Engineering at Chinese Academy of Sciences | ||
16:30 15mTalk | CSChecker: Revisiting GDPR and CCPA Compliance of Cookie Banners on the Web Research Track Mingxue Zhang Zhejiang University, Wei Meng Chinese University of Hong Kong, You Zhou Zhejiang University, Kui Ren Zhejiang University | ||
16:45 15mTalk | Raisin: Identifying Rare Sensitive Functions for Bug Detection Research Track Jianjun Huang Renmin University of China, Jianglei Nie Renmin University of China, Yuanjun Gong Renmin University of China, Wei You Renmin University of China, Bin Liang Renmin University of China, China, Pan Bian Huawei Technologies CO., LTD., China | ||
17:00 15mTalk | Broadly Enabling KLEE to Effortlessly Find Unrecoverable Errors in Rust Software Engineering in Practice Ying Zhang Virginia Tech, Peng Li Zoox, Yu Ding Google, Wang Lingxiang Microsoft, Dan Williams Virginia Tech, Na Meng Virginia Tech Pre-print | ||
17:15 15mTalk | Inference for Ever-Changing Policy of Taint Analysis Software Engineering in Practice Wen-Hao Chiang Amazon Web Services, Peixuan Li Amazon Web Services, Qiang Zhou Amazon Web Services, Subarno Banerjee Amazon Web Services, Martin Schäf Amazon Web Services, Yingjun Lyu Amazon Web Services, Hoan Nguyen Amazon Web Services, Omer Tripp Amazon Web Services |