ICSE 2024
Fri 12 - Sun 21 April 2024 Lisbon, Portugal
Thu 18 Apr 2024 12:22 - 12:29 at Luis de Freitas Branco - Analysis and Debugging 2 Chair(s): Pedro Diniz

Dead Code Elimination (DCE) is a fundamental compiler optimization technique that removes dead code (e.g., unreachable or reachable but whose results are unused) in the program to produce smaller or faster executables. However, since compiler optimizations are typically aggressively performed and there are complex relationships/interplay among a vast number of compiler optimizations (including DCE), it is not known whether DCE is indeed correctly performed and will only delete dead code in practice. In this study, we open a new research problem to investigate: can DCE happen to erroneously delete live code? To tackle this problem, we design a new approach named Xdead, which leverages differential testing, static binary analysis, and dynamic symbolic execution techniques, to detect miscompilation bugs caused by the erroneously deleted live code. Preliminary evaluation shows that Xdead can identify many divergent portions indicating erroneously deleted live code and finally detect two such miscompilation bugs in LLVM compilers. Our findings call for more attention to the potential issues in existing DCE implementations and more conservative strategies when designing new DCE-related compiler optimizations.

Thu 18 Apr

Displayed time zone: Lisbon change

11:00 - 12:30
11:00
15m
Talk
Trace-based Multi-Dimensional Root Cause Localization of Performance Issues in Microservice Systems
Research Track
Chenxi Zhang Fudan University, Zhen Dong Fudan University, China, Xin Peng Fudan University, Bicheng Zhang Fudan University, Miao Chen Fudan University
11:15
15m
Talk
ReClues: Representing and indexing failures in parallel debugging with program variables
Research Track
Yi Song School of Computer Science, Wuhan University, Xihao Zhang School of Computer Science, Wuhan University, Xiaoyuan Xie School of Computer Science, Wuhan University, China, Quanming Liu School of Computer Science, Wuhan University, Ruizhi Gao Sonos Inc., Chenliang Xing School of Computer Science, Wuhan University
11:30
15m
Talk
PyAnalyzer: An Effective and Practical Approach for Dependency Extraction from Python Code
Research Track
Wuxia Jin Xi'an Jiaotong University, Shuo Xu Xi'an jiaotong university, Dawei Chen Xi'an Jiaotong University, Jiajun He Xi'an jiaotong university, Dinghong Zhong Xi'an jiaotong university, Ming Fan Xi'an Jiaotong University, Hongxu Chen Huawei Technologies Co., Ltd., Huijia Zhang Huawei Technologies Co Ltd, Ting Liu Xi'an Jiaotong University
Media Attached
11:45
15m
Talk
Detecting Automatic Software Plagiarism via Token Sequence Normalization
Research Track
Timur Sağlam Karlsruhe Institute of Technology (KIT), Moritz Brödel Karlsruhe Institute of Technology (KIT), Larissa Schmid Karlsruhe Institute of Technology, Sebastian Hahner Karlsruhe Institute of Technology (KIT)
DOI Pre-print
12:00
15m
Talk
NuzzleBug: Debugging Block-Based Programs in Scratch
Research Track
Adina Deiner University of Passau, Gordon Fraser University of Passau
Pre-print
12:15
7m
Talk
Locating Buggy Segments in Quantum Program Debugging
New Ideas and Emerging Results
Naoto Sato Hitachi, Ltd., Ryota Katsube Hitachi, Ltd.
12:22
7m
Talk
Beyond a Joke: Dead Code Elimination Can Delete Live Code
New Ideas and Emerging Results
Haoxin Tu Singapore Management University, Singapore, Lingxiao Jiang Singapore Management University, Debin Gao Singapore Management University, He Jiang Dalian University of Technology