Write a Blog >>
ICSE 2020
Wed 24 June - Thu 16 July 2020
Thu 9 Jul 2020 08:25 - 08:35 at Goguryeo - I17-Contracts and Analysis Chair(s): Jaechang Nam

Escape analysis is widely used to determine the scope of variables, and is an effective way to optimize memory usage. However, the escape analysis algorithm can hardly reach 100% accurate, mistakes of which can lead to a waste of heap memory. It is challenging to ensure the correctness of programs for memory optimization.

In this paper, we propose an escape analysis optimization approach for Go programming language (Golang), aiming to save heap memory usage of programs. First, we compile the source code to capture information of escaped variables. Then, we change the code so that some of these variables can bypass Golang’s escape analysis mechanism, thereby saving heap memory usage and reducing the pressure of memory garbage collection. Next, we present a verification method to validate the correctness of programs, and evaluate the effect of memory optimization. We implement the approach to an automatic tool and make it open-source. For evaluation, we apply our approach to 10 open-source projects. For the optimized Golang code, the heap allocation is reduced by 8.88% in average, and the heap usage is reduced by 8.78% in average. Time consumption is reduced by 9.48% in average, while the cumulative time of GC pause is reduced by 5.64% in average. We also apply our approach to 16 industrial projects in Bytedance Technology. Our approach successfully finds 452 optimized cases which are confirmed by developers.

Thu 9 Jul
Times are displayed in time zone: (UTC) Coordinated Universal Time change

08:05 - 09:05: Paper Presentations - I17-Contracts and Analysis at Goguryeo
Chair(s): Jaechang NamHandong Global University
icse-2020-Software-Engineering-in-Practice08:05 - 08:15
Volker GruhnUniversity Duisburg-Essen, Niklas Spitczok von Brisinskiadesso AG
Demonstrations08:15 - 08:25
Zhiqiang YangOxford-Hainan Blockchain Research Institute, Han LiuTsinghua University, Yue LiOxford-Hainan Blockchain Research Institute, Huixuan ZhengOxford-Hainan Blockchain Research Institute, Lei WangOxford-Hainan Blockchain Research Institute, Bangdao ChenOxford-Hainan Blockchain Research Institute
icse-2020-Software-Engineering-in-Practice08:25 - 08:35
Cong WangTsinghua University, Mingrui ZhangTsinghua University, Beijing, China, Yu Jiang, Huafeng ZhangHuawei Technologies, Hangzhou, China, Zhenchang XingAustralia National University, Ming Gu
icse-2020-Journal-First08:35 - 08:45
Weiqin ZouNanjing University, David LoSingapore Management University, Pavneet Singh KochharMicrosoft, Xuan-Bach D. LeSingapore Management University, Singapore, Xin XiaMonash University, Yang FengNanjing University, Zhenyu ChenNanjing University, Baowen XuNanjing University
icse-2020-papers08:45 - 08:55
Thomas DurieuxKTH Royal Institute of Technology, Sweden, João F. FerreiraINESC-ID and IST, University of Lisbon, Rui AbreuInstituto Superior Técnico, U. Lisboa & INESC-ID, Pedro CruzIST, University of Lisbon, Portugal
icse-2020-Journal-First08:55 - 09:05
Chang-ai SunUniversity of Science and Technology Beijing, An FuUniversity of Science and Technology Beijing, Pak-Lok PoonSchool of Engineering & Technology, Central Queensland University, Australia, Xiaoyuan XieSchool of Computer Science, Wuhan University, China, Huai LiuSwinburne University of Technology, Tsong Yueh ChenSwinburne University of Technology