Understanding Code Change with Micro-ChangesResearch Track Paper
A crucial activity in software maintenance and evolution is the comprehension of the changes performed by developers, when they submit a pull request and/or perform a commit on the repository. Typically, code changes are represented in the form of code diffs, textual representations highlighting the differences between two file versions, depicting the added, removed, and changed lines. This simplistic representation must be interpreted by developers, and mentally lifted to a higher abstraction level, that more closely resembles natural language descriptions, and eases the creation of a mental model of the changes. However, the textual diff-based representation is cumbersome, and the lifting requires considerable domain knowledge and programming skills. We present an approach, based on the concept of micro-change, to overcome these difficulties, translating code diffs into a series of pre-defined change operations, which can be described in natural language. We present a catalog of micro-changes, together with an automated micro-change detector. To evaluate our approach, we performed an empirical study on a large set of open-source repositories, focusing on a subset of our micro-change catalog, namely those related to changes affecting the conditional logic. We found that our detector is capable of explaining more than 67% of the changes taking place in the systems under study.
Wed 9 OctDisplayed time zone: Arizona 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 DOI Pre-print Media Attached | ||
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 Pre-print | ||
11:25 15m | Decomposing God Header File via Multi-View Graph ClusteringResearch Track Paper Research Track Pre-print | ||
11:40 10m | How Far Have We Gone in Binary Code Understanding Using Large Language ModelsResearch 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 |