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 条
  • [21] Software Evolution or Software Enhancement?
    Kurtel, Kaan
    Eren, Saban
    2018 3RD INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND ENGINEERING (UBMK), 2018, : 390 - 395
  • [22] Introduction to the special issue on software analysis, evolution and reengineering
    Balmas, F
    Kontogiannis, K
    SCIENCE OF COMPUTER PROGRAMMING, 2006, 60 (02) : 117 - 120
  • [23] AST Based JAVA']JAVA Software Evolution Analysis
    Jiang, Lu
    Zhang, Zhiyi
    Zhao, Zhihong
    2013 10TH WEB INFORMATION SYSTEM AND APPLICATION CONFERENCE (WISA 2013), 2013, : 180 - 183
  • [24] Preliminary Lessons from a Software Evolution Analysis of Moodle
    Macho, Hector J.
    Robles, Gregorio
    FIRST INTERNATIONAL CONFERENCE ON TECHNOLOGICAL ECOSYSTEM FOR ENHANCING MULTICULTURALITY (TEEM'13), 2013, : 157 - 161
  • [25] Graph-Based Analysis and Prediction for Software Evolution
    Bhattacharya, Pamela
    Iliofotou, Marios
    Neamtiu, Iulian
    Faloutsos, Michalis
    2012 34TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2012, : 419 - 429
  • [26] Visualization and analysis of open source software evolution using an evolution curve method
    Damasevicius, Robertas
    DATABASES AND INFORMATION SYSTEMS, 2008, : 193 - 204
  • [27] Phylogenomics of the green ash eucalypts (Myrtaceae): a tale of reticulate evolution and misidentification
    Rutherford, Susan
    Wilson, Peter G.
    Rossetto, Maurizio
    Bonser, Stephen P.
    AUSTRALIAN SYSTEMATIC BOTANY, 2015, 28 (5-6) : 326 - 354
  • [28] Analysis of User Comments: An Approach for Software Requirements Evolution
    Carreno, Laura V. Galvis
    Winbladh, Kristina
    PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), 2013, : 582 - 591
  • [29] Spatial evolution of human cultures inferred through Bayesian phylogenetic analysis
    Takahashi, Takuya
    Ihara, Yasuo
    JOURNAL OF THE ROYAL SOCIETY INTERFACE, 2023, 20 (198)
  • [30] Mesoamerican tree squirrels evolution (Rodentia: Sciuridae): a molecular phylogenetic analysis
    Villalobos, Federico
    Gutierrez-Espeleta, Gustavo
    REVISTA DE BIOLOGIA TROPICAL, 2014, 62 (02) : 649 - 657