Compiler Optimization Testing Based on Optimization-Guided Equivalence Transformations
Compiler optimization techniques are inherently complex, and rigorous testing of compiler optimization implementation is critical. Recent years have witnessed the emergence of testing approaches for uncovering incorrect optimization bugs, but these approaches rely heavily on differential testing mechanism, which requires comparing outputs across multiple compilers. This dependency gives rise to important limitations, including (1) the tested functionality must be consistently implemented across all compilers, and (2) shared bugs remain undetected. Consequently, false alarms can be produced and significant manual efforts will be required. To overcome the limitations, we propose a metamorphic testing approach inspired by compiler optimizations. The approach is driven by how to maximize compiler optimization opportunities while effectively judge optimization correctness. Specifically, our approach first employs tailored code construction strategies to generate input programs that satisfy optimization conditions, and then applies various compiler optimization transformations to create semantically equivalent test programs. By comparing the outputs of pre- and post-transformation programs, this approach effectively identifies incorrect optimization bugs. We conduct a preliminary evaluation of this approach on GCC and LLVM, and have successfully detected five incorrect optimization bugs at the time of our writing. This result demonstrates the effectiveness and potential of our approach.
Wed 25 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:00 - 12:30 | CompilerResearch Papers / Journal First / Ideas, Visions and Reflections at Cosmos 3C Chair(s): Na Meng Virginia Tech | ||
11:00 20mTalk | De-duplicating Silent Compiler Bugs via Deep Semantic Representation Research Papers Junjie Chen Tianjin University, Xingyu Fan Tianjin University, Chen Yang Tianjin University, Shuang Liu Renmin University of China, Jun Sun Singapore Management University DOI | ||
11:20 20mTalk | DiSCo: Towards Decompiling EVM Bytecode to Source Code using Large Language Models Research Papers Xing Su National Key Lab for Novel Software Technology, Nanjing University, China, Hanzhong Liang National Key Lab for Novel Software Technology, Nanjing University, China, Hao Wu , Ben Niu State Key Laboratory of Information Security, Institute of Information Engineering, China, Fengyuan Xu National Key Lab for Novel Software Technology, Nanjing University, China, Sheng Zhong National Key Lab for Novel Software Technology, Nanjing University, China DOI | ||
11:40 20mTalk | Compiler Autotuning through Multiple Phase Learning Journal First | ||
12:00 20mTalk | PDCAT: Preference-Driven Compiler Auto-Tuning Research Papers Mingxuan Zhu Peking University, Zeyu Sun Institute of Software, Chinese Academy of Sciences, Dan Hao Peking University DOI | ||
12:20 10mTalk | Compiler Optimization Testing Based on Optimization-Guided Equivalence Transformations Ideas, Visions and Reflections Jingwen Wu Shandong University, Jiajing Zheng Shandong University, Zhenyu Yang Shandong University, Zhongxing Yu Shandong University | ||
Cosmos 3C is the third 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.