Staged Tree Matching for Detecting Code Move across Files
In software development, developers often need to understand source code differences in their activities. GumTree is a tool that detects tree-based source code differences. GumTree constructs abstract syntax trees from the source code before and after a given change, and then, it identifies inserted/deleted/moved subtrees and updated nodes. Source code differences are detected based on the four kinds of information in GumTree. However, GumTree calculates the difference for each file individually, so that it cannot detect moves of code fragments across files. In this research, we propose (1) to construct a single abstract syntax tree from all source files included in a project and (2) to perform a staged tree matching to detect across-file code moves efficiently and accurately. We have already conducted a pilot experiment on open source projects with our technique. As a result, we were able to detect code moves across files in all the projects, and the number of such code moves was 76,600 in total.
Tue 14 JulDisplayed time zone: (UTC) Coordinated Universal Time change
07:00 - 08:00 | Session 5: For ResearchersResearch / ERA / Tool Demonstration at ICPC Chair(s): Bin Lin Università della Svizzera italiana (USI) | ||
07:00 15mPaper | A Literature Review of Automatic Traceability Links Recovery for Software Change Impact Analysis Research Thazin Win Win Aung University of Technology Sydney, Yulei Sui University of Technology Sydney, Australia, Huan Huo University of Technology Sydney Media Attached | ||
07:15 15mPaper | Improving Code Search with Co-Attentive Representation Learning Research Jianhang Shuai School of Big Data & Software Engineering, Chongqing University, Ling Xu School of Big Data & Software Engineering, Chongqing University, Chao Liu Zhejiang University, Meng Yan School of Big Data & Software Engineering, Chongqing University, Xin Xia Monash University, Yan Lei School of Big Data & Software Engineering, Chongqing University Media Attached | ||
07:30 15mPaper | OpenSZZ: A Free, Open-Source, Web-Accessible Implementation of the SZZ Algorithm Tool Demonstration Valentina Lenarduzzi LUT University , Fabio Palomba University of Salerno, Davide Taibi Tampere University , Damian Andrew Tamburri Jheronimus Academy of Data Science Media Attached | ||
07:45 15mPaper | Staged Tree Matching for Detecting Code Move across Files ERA Akira Fujimoto Osaka University, Yoshiki Higo Osaka University, Junnosuke Matsumoto , Shinji Kusumoto Osaka University Media Attached |