Phylogenetic Analysis of Reticulate Software Evolution
In this paper, we apply techniques from phylogenetics for uncovering evolutionary dependencies among software versions. Phylogenetics is a part of computational molecular biology that addresses the in ference of evolution among organisms based on differences/similarities in DNA sequences and morphology. We apply a tree differencing technique to abstract syntax trees to calculate a distance matrix, which is then used by a distance-based phylogenetic algorithm to infer an evolution network. This allows us to identify merging and branching among versions without manually looking into the details of the source code. Experiments on ancient/old versions of the Emacs editor and the open source 3D printer firmware show that we not only can reproduce the evolution of the software but also can identify code import/merging across different lineages. We also discuss how the techniques are used to identify the feature models among software variations. To the best of our knowledge, this paper is the first to report on a reticulate phylogenetic analysis of the software and may offer a useful method for gaining information on the evolution of the software.
Tue 16 MayDisplayed time zone: Hobart change
11:50 - 12:35 | Software Libraries & EcosystemsTechnical Papers / Industry Track / Data and Tool Showcase Track at Meeting Room 110 Chair(s): Mehdi Keshani Delft University of Technology | ||
11:50 12mTalk | A Large Scale Analysis of Semantic Versioning in NPM Technical Papers Donald Pinckney Northeastern University, Federico Cassano Northeastern University, Arjun Guha Northeastern University and Roblox Research, Jonathan Bell Northeastern University Pre-print | ||
12:02 12mTalk | Phylogenetic Analysis of Reticulate Software Evolution Technical Papers Akira Mori National Institute of Advanced Industrial Science and Technology, Japan, Masatomo Hashimoto Chiba Institute of Technology, Japan | ||
12:14 6mTalk | PyMigBench: A Benchmark for Python Library Migration Data and Tool Showcase Track Mohayeminul Islam University of Alberta, Ajay Jha North Dakota State University, Sarah Nadi University of Alberta, Ildar Akhmetov University of Alberta Pre-print | ||
12:20 6mTalk | Determining Open Source Project Boundaries Industry Track Sophia Vargas Google | ||
12:26 6mTalk | Intertwining Communities: Exploring Libraries that Cross Software Ecosystems Technical Papers Kanchanok Kannee Nara Institute of Science and Technology, Raula Gaikovina Kula Nara Institute of Science and Technology, Supatsara Wattanakriengkrai Nara Institute of Science and Technology, Kenichi Matsumoto Nara Institute of Science and Technology Pre-print |