Understanding code changes is of crucial importance in a wide range of software evolution activities. The traditional approach is to use textual differencing, as done with success since the 1970s with the ubiquitous diff tool. However, textual differencing has the important limitation of not aligning the changes to the syntax of the source code. To overcome these issues, structural (i.e. syntactic) differencing has been proposed in the literature, notably GumTree which was one of the pioneering approaches. The main drawback of GumTree’s algorithm is the use of an optimal, but expensive tree-edit distance algorithm that makes it difficult to diff large ASTs. In this article, we describe a less expensive heuristic that enables GumTree to scale to large ASTs while yielding results of better quality than the original GumTree. We validate this new heuristic against 4 datasets of changes in two different languages, where we generate edit-scripts with a median size 50% smaller, and a total speedup between 50x and 281x.
Fri 19 AprDisplayed time zone: Lisbon change
11:00 - 12:30 | Evolution 4Research Track / Journal-first Papers / Software Engineering in Practice at Glicínia Quartin Chair(s): Wesley Assunção North Carolina State University | ||
11:00 15mTalk | MUT: Human-in-the-Loop Unit Test Migration Research Track Yi Gao Zhejiang University, Xing Hu Zhejiang University, Tongtong Xu Huawei, Xin Xia Huawei Technologies, David Lo Singapore Management University, Xiaohu Yang Zhejiang University | ||
11:15 15mTalk | Streamlining Java Programming: Uncovering Well-Formed Idioms with IdioMine Research Track Yanming Yang Zhejiang University, Xing Hu Zhejiang University, Xin Xia Huawei Technologies, David Lo Singapore Management University, Xiaohu Yang Zhejiang University | ||
11:30 15mTalk | Fine-grained, accurate and scalable source differencing Research Track | ||
11:45 15mTalk | A Catalog of Unintended Software Dependencies in Multi-Lingual Systems at ASML Software Engineering in Practice Tom Groot Eindhoven University of Technology & ASML, Lina Ochoa Eindhoven University of Technology, Bogdan Lazar ASML, Jacob Krüger Eindhoven University of Technology | ||
12:00 7mTalk | Runtime Evolution of Bitcoin’s Consensus Rules Journal-first Papers Jakob Svennevik Notland Norwegian University of Science and Technology, Mariusz Nowostawski Norwegian University of Science and Technology, Jingyue Li Norwegian University of Science and Technology (NTNU) | ||
12:07 7mTalk | CfgNet: A Framework for Tracking Equality-Based Configuration Dependencies Across a Software Project Journal-first Papers Sebastian Simon Leipzig University, Nicolai Ruckel Secunet Security Networks AG, Norbert Siegmund Leipzig University | ||
12:14 7mTalk | Hyperparameter Optimization for AST Differencing Journal-first Papers Matias Martinez Universitat Politècnica de Catalunya (UPC), Jean-Rémy Falleri Univ. Bordeaux, Bordeaux INP, CNRS, LaBRI, UMR5800, F-33400 Talence, France, Martin Monperrus KTH Royal Institute of Technology, Matias Martinez Universitat Politècnica de Catalunya (UPC), Matias Martinez Universitat Politècnica de Catalunya (UPC) |