Research on mining software repositories to facilitate refactoring

被引:1
|
作者
Nyamawe, Ally S. [1 ,2 ,3 ]
机构
[1] Univ Dodoma, Dept Comp Sci & Engn, Dodoma, Tanzania
[2] Univ Dodoma, AI4D Africas Anglophone Multidisciplinary Res Lab, Dodoma, Tanzania
[3] Univ Dodoma, Dept Comp Sci & Engn, AI4D Africas Anglophone Multidisciplinary Res Lab, Dodoma, Tanzania
关键词
mining software repositories; software history; software refactoring; CODE-SMELLS; MODELS;
D O I
10.1002/widm.1508
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Software refactoring focuses on improving software quality by applying changes to the internal structure that do not alter the observable behavior. Determining which refactorings should be applied and presented to developers the most relevant and optimal refactorings is often challenging. Existing literature suggests that one of the potential sources to identify and recommend required refactorings is the past software development and evolution histories which are often archived in software repositories. In this article, we review a selection of existing literature that has attempted to propose approaches that facilitate refactoring by exploiting information mined from software repositories. Based on the reviewed papers, existing works leverage software history mining to support analysis of code smells, refactoring, and guiding software changes. First, past history information is used to detect design flaws in source code commonly referred to as code smells. Moreover, other studies analyze the evolution of code smells to establish how and when they are introduced into the code base and get resolved. Second, software repositories mining provides useful insights that can be used in predicting the need for refactoring and what specific refactoring operations are required. In addition, past history can be used in detecting and analyzing previously applied refactorings to establish software change facts, for instance, how developers refactor code and the motivation behind it. Finally, change patterns are used to predict further changes that might be required and recommend a set of files for change during a given modification task. The paper further suggests other exciting possibilities that can be pursued in the future in this research direction.This article is categorized under:Algorithmic Development > Text MiningApplication Areas > Data Mining Software Tools
引用
收藏
页数:15
相关论文
共 50 条
  • [31] Introduction to the special issue on mining software repositories
    Xie, Tao
    Zimmermann, Thomas
    van Deursen, Arie
    EMPIRICAL SOFTWARE ENGINEERING, 2013, 18 (06) : 1043 - 1046
  • [32] Guest editorial: Mining software repositories 2018
    Kamei, Yasutaka
    Zaidman, Andy
    EMPIRICAL SOFTWARE ENGINEERING, 2020, 25 (03) : 2055 - 2057
  • [33] Guest editorial: Mining software repositories 2018
    Yasutaka Kamei
    Andy Zaidman
    Empirical Software Engineering, 2020, 25 : 2055 - 2057
  • [34] Mining software repositories for comprehensible software fault prediction models
    Vandecruys, Olivier
    Martens, David
    Baesens, Bart
    Mues, Christophe
    De Backer, Manu
    Haesen, Raf
    JOURNAL OF SYSTEMS AND SOFTWARE, 2008, 81 (05) : 823 - 839
  • [35] Mining Software Repositories to Identify Library Experts
    Santos, Adriano
    Souza, Mauricio
    Oliveira, Johnatan
    Figueiredo, Eduardo
    XII BRAZILIAN SYMPOSIUM ON SOFTWARE COMPONENTS, ARCHITECTURES, AND REUSE (SBCARS), 2018, : 83 - 91
  • [36] Mining Software Repositories with a Collaborative Heuristic Repository
    Babii, Hlib
    Prenner, Julian Aron
    Stricker, Laurin
    Karmakar, Anjan
    Janes, Andrea
    Robbes, Romain
    2021 ACM/IEEE 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: NEW IDEAS AND EMERGING RESULTS (ICSE-NIER 2021), 2021, : 106 - 110
  • [37] MetricMiner: Supporting Researchers in Mining Software Repositories
    Sokol, Francisco Zigmund
    Aniche, Mauricio Finavaro
    Gerosa, Marco Aurelio
    2013 IEEE 13TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2013, : 142 - 146
  • [38] Mining Software Repositories for Automatic Interface Recommendation
    Sun, Xiaobing
    Li, Bin
    Duan, Yucong
    Shi, Wei
    Liu, Xiangyue
    SCIENTIFIC PROGRAMMING, 2016, 2016
  • [39] Visual data mining and analysis of software repositories
    Voinea, Lucian
    Telea, Alexandru
    COMPUTERS & GRAPHICS-UK, 2007, 31 (03): : 410 - 428
  • [40] Manas: Mining Software Repositories to Assist AutoML
    Nguyen, Giang
    Islam, Md Johirul
    Pan, Rangeet
    Rajan, Hridesh
    2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022), 2022, : 1368 - 1380