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

Displayed time zone: (UTC) Coordinated Universal Time change

08:05 - 09:05
I17-Contracts and AnalysisDemonstrations / Technical Papers / Software Engineering in Practice / Journal First at Goguryeo
Chair(s): Jaechang Nam Handong Global University
08:05
10m
Talk
How to reduce risk effectively in fixed price software developmentSEIP
Software Engineering in Practice
Volker Gruhn University Duisburg-Essen, Niklas Spitczok von Brisinski adesso AG
08:15
10m
Talk
Seraph: Enabling Cross-Platform Security Analysis For EVM and WASM Smart ContractsDemo
Demonstrations
Zhiqiang Yang Oxford-Hainan Blockchain Research Institute, Han Liu Tsinghua University, Yue Li Oxford-Hainan Blockchain Research Institute, Huixuan Zheng Oxford-Hainan Blockchain Research Institute, Lei Wang Oxford-Hainan Blockchain Research Institute, Bangdao Chen Oxford-Hainan Blockchain Research Institute
08:25
10m
Talk
Escape from Escape Analysis of GolangSEIP
Software Engineering in Practice
Cong Wang Tsinghua University, Mingrui Zhang Tsinghua University, Beijing, China, Yu Jiang , Huafeng Zhang Huawei Technologies, Hangzhou, China, Zhenchang Xing Australia National University, Ming Gu
08:35
10m
Talk
Smart Contract Development: Challenges and OpportunitiesJ1
Journal First
Weiqin Zou Nanjing University, David Lo Singapore Management University, Pavneet Singh Kochhar Microsoft, Xuan-Bach D. Le Singapore Management University, Singapore, Xin Xia Monash University, Yang Feng Nanjing University, Zhenyu Chen Nanjing University, Baowen Xu Nanjing University
08:45
10m
Talk
Empirical Review of Automated Analysis Tools on 47,587 Ethereum Smart ContractsArtifact ReusableTechnicalArtifact Available
Technical Papers
Thomas Durieux KTH Royal Institute of Technology, Sweden, João F. Ferreira INESC-ID and IST, University of Lisbon, Rui Abreu Instituto Superior Técnico, U. Lisboa & INESC-ID, Pedro Cruz IST, University of Lisbon, Portugal
Pre-print
08:55
10m
Talk
An Extended Abstract of “METRIC+: A Metamorphic Relation Identification Technique Based on Input Plus Output Domains”J1
Journal First
Chang-ai Sun University of Science and Technology Beijing, An Fu University of Science and Technology Beijing, Pak-Lok Poon School of Engineering & Technology, Central Queensland University, Australia, Xiaoyuan Xie School of Computer Science, Wuhan University, China, Huai Liu Swinburne University of Technology, Tsong Yueh Chen Swinburne University of Technology