Phylogenetic Analysis of Reticulate Software Evolution

被引:0
作者
Mori, Akira [1 ]
Hashimoto, Masatomo [2 ]
机构
[1] Natl Inst Adv Ind Sci & Technol, Ikeda, Osaka, Japan
[2] Chiba Inst Technol, Narashino, Chiba, Japan
来源
2023 IEEE/ACM 20TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES, MSR | 2023年
关键词
software evolution; phylogenetics; AST differencing; distance matrix; horizontal code movements; feature model extraction; CONSTRUCTION; TREES;
D O I
10.1109/MSR59073.2023.00074
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 inference 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 distancebased phylogenetic algorithm to infer an evolution network. Such a network allows us to identify merging and branching among versions without manually looking into the details of the source code. Experiments on ancient versions of the Emacs editor and the open source 3D printer firmware show that we can reproduce the evolution of the software and identify code import/merging across different lineages. We also discuss how the techniques 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. It may offer a helpful method for gaining information on the evolution of the software.
引用
收藏
页码:498 / 510
页数:13
相关论文
共 50 条
  • [31] Comparative phylogenetic analysis of the evolution of semelparity and life history in salmonid fishes
    Crespi, BJ
    Teo, R
    EVOLUTION, 2002, 56 (05) : 1008 - 1020
  • [32] Reticulate evolution and taxonomic concepts in the Ranunculus auricomus complex (Ranunculaceae): insights from analysis of morphological, karyological and molecular data
    Hoerandl, Elvira
    Greilhuber, Johann
    Klimova, Katarina
    Paun, Ovidiu
    Temsch, Eva
    Emadzade, Khatere
    Hodalova, Iva
    TAXON, 2009, 58 (04) : 1194 - 1215
  • [33] Repeated Reticulate Evolution in North American Papilio machaon Group Swallowtail Butterflies
    Dupuis, Julian R.
    Sperling, Felix A. H.
    PLOS ONE, 2015, 10 (10):
  • [34] Mining Software Contracts for Software Evolution
    Yan, Yan
    Menarini, Massimiliano
    Griswold, William
    2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, : 471 - 475
  • [35] Software evolution based on software architecture
    Hua, H
    FOURTH INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION TECHNOLOGY, PROCEEDINGS, 2004, : 1092 - 1097
  • [36] Understanding software evolution with software cities
    Steinbrueckner, Frank
    Lewerentz, Claus
    INFORMATION VISUALIZATION, 2013, 12 (02) : 200 - 216
  • [37] On the impact of software evolution on software clustering
    Beck, Fabian
    Diehl, Stephan
    EMPIRICAL SOFTWARE ENGINEERING, 2013, 18 (05) : 970 - 1004
  • [38] On the impact of software evolution on software clustering
    Fabian Beck
    Stephan Diehl
    Empirical Software Engineering, 2013, 18 : 970 - 1004
  • [39] An Exploratory Analysis for Studying Software Evolution: Time-Delayed Correlation Analysis
    Yamatani, Yosuke
    Ohira, Masao
    2014 6TH INTERNATIONAL WORKSHOP ON EMPIRICAL SOFTWARE ENGINEERING IN PRACTICE (IWESEP 2014), 2014, : 13 - 18
  • [40] Evolution Taxonomy for Software Architecture Evolution
    Gasmallah, Noureddine
    Amirat, Abdelkrim
    Oussalah, Mourad
    ENASE: PROCEEDINGS OF THE 11TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL SOFTWARE APPROACHES TO SOFTWARE ENGINEERING, 2016, : 124 - 131