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 条
  • [21] Process Mining Software Repositories from Student Projects in an Undergraduate Software Engineering Course
    Mittal, Megha
    Sureka, Ashish
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE COMPANION 2014), 2014, : 344 - 353
  • [22] Improving Enterprise Software Maintenance Efficiency through Mining Software Repositories in an Industry Context
    Mani, Senthil
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE COMPANION 2014), 2014, : 706 - 709
  • [24] Automated Refactoring for Energy-Aware Software
    Connolly Bree, Deaglan
    Cinneide, Mel O.
    2021 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2021), 2021, : 689 - 694
  • [25] Green software: Refactoring approach
    Sehgal, Rajni
    Mehrotra, Deepti
    Nagpal, Renuka
    Sharma, Ramanuj
    JOURNAL OF KING SAUD UNIVERSITY-COMPUTER AND INFORMATION SCIENCES, 2022, 34 (07) : 4635 - 4643
  • [26] Domain Analysis for Mining Software Repositories: Towards Feature-Based DSL Construction
    Huang, Changyun
    Yamashita, Kazuhiro
    Kamei, Yasutaka
    Hisazumi, Kenji
    Ubayashi, Naoyasu
    2013 4TH INTERNATIONAL WORKSHOP ON PRODUCT LINE APPROACHES IN SOFTWARE ENGINEERING (PLEASE), 2013, : 41 - 44
  • [27] Using Alloy to Support Feature-Based DSL Construction for Mining Software Repositories
    Huang, Changyun
    Kamei, Yasutaka
    Yamashita, Kazuhiro
    Ubayashi, Naoyasu
    PROCEEDINGS OF THE 17TH INTERNATIONAL SOFTWARE PRODUCT LINE CONFERENCE CO-LOCATED WORKSHOPS (SPLC'13 WORKSHOPS), 2013, : 86 - 89
  • [28] A Review on Software Refactoring Opportunity Identification and Sequencing in Object-oriented Software
    Kaur, Satnam
    Awasthi, Lalit K.
    Sangal, Amrit L.
    RECENT ADVANCES IN ELECTRICAL & ELECTRONIC ENGINEERING, 2021, 14 (03) : 252 - 267
  • [29] Application of Software Analytics Techniques in Software Repositories
    de Oliveira Rodrigues, Bruno Rafael
    Parreiras, Fernando Silva
    ABAKOS, 2018, 6 (02): : 36 - 54
  • [30] An Investigation of Entropy and Refactoring in Software Evolution
    Keenan, Daniel
    Greer, Des
    Cutting, David
    PRODUCT-FOCUSED SOFTWARE PROCESS IMPROVEMENT, PROFES 2022, 2022, 13709 : 282 - 297