ICSME 2024
Sun 6 - Fri 11 October 2024
Wed 9 Oct 2024 11:25 - 11:40 at Abineau - Session 1: Code Understanding and Optimization Chair(s): Rosalia Tufano

God Header Files, just like God Classes, pose significant challenges for code comprehension and maintenance. Additionally, they increase the time required for code recompilation. However, existing refactoring methods for God Classes are inappropriate to deal with God Header Files because the code elements in header files are mostly short declaration types, and build dependencies of the entire system should be considered with the aim of improving compilation efficiency. Meanwhile, ensuring acyclic dependencies among the decomposed sub-header files is also crucial in the God Header File decomposition. This paper proposes a multi-view graph clustering based approach for decomposing God Header Files. It first constructs and coarsens the code element graph, then a novel multi-view graph clustering algorithm is applied to identify the clusters and a heuristic algorithm is introduced to address the cyclic dependencies in the clustering results. To evaluate our approach, we built both a synthetic dataset and a real-world God Header Files dataset. The results show that 1) Our approach could achieve 11.5% higher accuracy than existing God Class refactoring methods; 2) Our decomposition results attain better architecture on real-world God Header Files, evidenced by higher modularity and acyclic dependencies; 3) We can reduce 15% to 60% recompilation time for historical commits that require recompiling.

Wed 9 Oct

Displayed time zone: Mountain Time (US & Canada) change

10:30 - 12:00
Session 1: Code Understanding and OptimizationResearch Track / New Ideas and Emerging Results Track at Abineau
Chair(s): Rosalia Tufano Università della Svizzera Italiana
10:30
15m
Optimizing Decompiler Output by Eliminating Redundant Data Flow in Self-Recursive InliningResearch Track Paper
Research Track
Runze Zhang , Ying Cao Institute of Information Engineering at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Ruigang Liang Institute of Information Engineering at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Peiwei Hu , Kai Chen Institute of Information Engineering at Chinese Academy of Sciences; University of Chinese Academy of Sciences
10:45
15m
Compilation of Commit Changes within Java Source Code RepositoriesOpen Research ObjectResearch Track Paper
Research Track
Stefan Schott Heinz Nixdorf Institut, Paderborn University, Wolfram Fischer SAP Security Research, Serena Elisa Ponta SAP Security Research, Jonas Klauke Heinz Nixdorf Institut, Paderborn University, Eric Bodden
Pre-print
11:00
15m
Understanding Code Change with Micro-ChangesResearch Track Paper
Research Track
Lei Chen Tokyo Institute of Technology, Michele Lanza Software Institute - USI, Lugano, Shinpei Hayashi Tokyo Institute of Technology
Pre-print
11:15
10m
What You Need is What You Get: Theory of Mind for an LLM-Based Code Understanding AssistantNIER Paper
New Ideas and Emerging Results Track
Jonan Richards Radboud University, Mairieli Wessel Radboud University
Pre-print
11:25
15m
Decomposing God Header File via Multi-View Graph ClusteringResearch Track Paper
Research Track
Yue Wang , Wenhui Chang , Yanzhen Zou Peking University, Tongwei Deng , Bing Xie Peking University
Pre-print
11:40
10m
How Far Have We Gone in Binary Code Understanding Using Large Language ModelsVideo presentationResearch Track Paper
Research Track
Xiuwei Shang University of Science and Technology of China, Shaoyin Cheng University of Science and Technology of China, Guoqiang Chen University of Science and Technology of China, Yanming Zhang , Li Hu , Xiao Yu , Gangyang Li , Weiming Zhang University of Science and Technology of China, Nenghai Yu
Pre-print