MEA2: a Lightweight Field-Sensitive Escape Analysis with Points-to Calculation for Golang
Escape analysis plays a crucial role in garbage-collected languages as it enables the allocation of non-escaping variables on the stack by identifying the dynamic lifetimes of objects and pointers. This helps in reducing heap allocations and alleviating garbage collection pressure. However, Go, as a garbage-collected language, employs a fast yet conservative escape analysis, which is field-insensitive and omits point-to-set calculation to expedite compilation. This results in more variables being allocated on the heap. Empirical statistics reveal that field access and indirect memory access are prevalent in real-world Go programs, suggesting potential opportunities for escape analysis to enhance program performance. In this paper, we propose MEA2, an escape analysis framework atop GoLLVM (an LLVM-based Go compiler), which combines field sensitivity and points-to analysis. Moreover, a novel generic function summary representation is designed to facilitate fast inter-procedural analysis. We evaluated it by using MEA2 to perform stack allocation in 12 wildly-use open-source projects. The results show that, compared to Go’s escape analysis, MEA2 can reduce heap allocation sites by 7.9% on average (up to 25.7%) while reducing the dynamic memory allocation size by 11.6% on average (up to 35.5%). All this is achieved while keeping the time overhead of escape analysis within 1% of the compilation process.
Wed 23 OctDisplayed time zone: Pacific Time (US & Canada) change
13:40 - 15:20 | Static Analysis and Program Verification 2OOPSLA 2024 at IBR East Chair(s): Anders Møller Aarhus University | ||
13:40 20mTalk | HardTaint: Production-Run Dynamic Taint Analysis via Selective Hardware Tracing OOPSLA 2024 Yiyu Zhang Nanjing University, Tianyi Liu Nanjing University, Yueyang Wang Nanjing University, Yun Qi Nanjing University, Kai Ji Nanjing University, Jian Tang Nanjing University, Xiaoliang Wang Nanjing University, Xuandong Li Nanjing University, Zhiqiang Zuo Nanjing University DOI | ||
14:00 20mTalk | MEA2: a Lightweight Field-Sensitive Escape Analysis with Points-to Calculation for Golang OOPSLA 2024 Boyao Ding University of Science and Technology of China, Qingwei Li University of Science and Technology of China, Yu Zhang University of Science and Technology of China, Fugen Tang University of Science and Technology of China, Jinbao Chen University of Science and Technology of China DOI | ||
14:20 20mTalk | Newtonian Program Analysis of Probabilistic Programs OOPSLA 2024 DOI | ||
14:40 20mTalk | Non-Termination Proving at Scale OOPSLA 2024 Azalea Raad Imperial College London, Julien Vanegue Imperial College London; Bloomberg, Peter W. O'Hearn Lacework; University College London DOI | ||
15:00 20mTalk | Quantum Control Machine: The Limits of Control Flow in Quantum Programming OOPSLA 2024 Charles Yuan Massachusetts Institute of Technology, Agnes Villanyi MIT CSAIL, Michael Carbin Massachusetts Institute of Technology DOI |