LLVM IR is a critical component of the LLVM compiler infrastructure. Its Static Single Assignment (SSA) form and strong type system make it ideal for program analysis. However, LLVM IR features a single-type design, where each IR variable is tagged with a single type. In some cases, an IR variable can correspond to multiple types. Such a single-type design cannot represent multiple types. Even worse, after the introduction of a new feature (opaque pointer), obtaining the pointers’ pointee types is no longer feasible. All pointers correspond to a single generic type, i.e., opaque pointer type (ptr), which renders type-based analyses ineffective. To address the limitations of single-type design, we propose type-alias analysis. This approach features a multiple-type design, maintaining type-alias sets for IR variables and performing type inference across various IR instructions. We implement a prototype, TypeCopilot, to specify types of generic pointers in the opaque-pointer-enabled LLVM IR compiled from C source code. Our results demonstrate that TypeCopilot achieves an overall accuracy of 98.57% and coverage of 94.98%. Additionally, TypeCopilot allows existing tools to continue their effectiveness in the presence of opaque pointers. To support the security community, we open-source TypeCopilot, providing a practical tool for enhancing type-based security analyses.
Thu 26 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
14:00 - 15:15 | Program Analysis 1Research Papers at Cosmos 3B Chair(s): Martin Kellogg New Jersey Institute of Technology | ||
14:00 25mTalk | Bridge the Islands: Pointer Analysis for Microservice Systems Research Papers Teng Zhang Nanjing University, Yufei Liang Nanjing University, Ganlin Li Nanjing University, Tian Tan Nanjing University, Chang Xu Nanjing University, Yue Li Nanjing University DOI | ||
14:25 25mTalk | Program Analysis Combining Generalized Bit-Level and Word-Level Abstractions Research Papers Guangsheng Fan National University of Defense Technology, Liqian Chen National University of Defense Technology, Banghu Yin College of Computer, National University of Defense Technology, Changsha, China, Wenyu Zhang National University of Defense Technology, Peisen Yao Zhejiang University, Ji Wang National University of Defense Technology DOI | ||
14:50 25mTalk | Type-Alias Analysis: Enabling LLVM IR with Accurate Types Research Papers Jinmeng Zhou Zhejiang University, Ziyue Pan Zhejiang University, Wenbo Shen Zhejiang University, Xingkai Wang Zhejiang University, Kangjie Lu University of Minnesota, Zhiyun Qian University of California at Riverside, USA DOI |
Cosmos 3B is the second room in the Cosmos 3 wing.
When facing the main Cosmos Hall, access to the Cosmos 3 wing is on the left, close to the stairs. The area is accessed through a large door with the number “3”, which will stay open during the event.