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] Mining Software Repositories for Accurate Authorship
    Meng, Xiaozhu
    Miller, Barton P.
    Williams, William R.
    Bernat, Andrew R.
    2013 29TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE (ICSM), 2013, : 250 - 259
  • [22] The challenges & case for mining software repositories
    Razzaq, Saad
    Maqbool, Fahad
    Anjum, Bilal
    Zafar, Samreen
    Laila, Umme
    Noor, Faiza
    IMECS 2007: INTERNATIONAL MULTICONFERENCE OF ENGINEERS AND COMPUTER SCIENTISTS, VOLS I AND II, 2007, : 734 - +
  • [23] Guest Editorial: Mining software repositories
    Robbes, Romain
    Kamei, Yasutaka
    Pinzger, Martin
    EMPIRICAL SOFTWARE ENGINEERING, 2017, 22 (03) : 1143 - 1145
  • [24] Mining Software Repositories for Social Norms
    Dam, Hoa Khanh
    Savarimuthu, Bastin Tony Roy
    Avery, Daniel
    Ghose, Aditya
    2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol 2, 2015, : 627 - 630
  • [25] Software Process Simulation based on Mining Software Repositories
    Honsel, Verena
    Honsel, Daniel
    Grabowski, Jens
    2014 IEEE INTERNATIONAL CONFERENCE ON DATA MINING WORKSHOP (ICDMW), 2014, : 828 - 831
  • [26] Assessment of Approaches for the Analysis of Refactoring Activity on Software Repositories An Empirical Study
    Orru, Matteo
    Marchesi, Michele
    PROCEEDINGS OF THE XP2016 SCIENTIFIC WORKSHOPS, 2016,
  • [27] Research Friendly Software Repositories
    Herraiz, Israel
    Robles, Gregorio
    Gonzalez-Barahona, Jesus M.
    IWPSE-EVOL 09: ERCIM WORKSHOP ON SOFTWARE EVOLUTION (EVOL) AND INTERNATIONAL WORKSHOP ON PRINCIPLES OF SOFTWARE EVOLUTION (IWPSE), 2009, : 19 - 23
  • [28] Introduction to the special issue on mining software repositories
    Tao Xie
    Thomas Zimmermann
    Arie van Deursen
    Empirical Software Engineering, 2013, 18 : 1043 - 1046
  • [29] Mining Software Repositories Using Topic Models
    Thomas, Stephen W.
    2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 1138 - 1139
  • [30] Mining expertise of developers from software repositories
    Hammad, Maen
    Hijazi, Haneen
    Hammad, Mustafa
    Otoom, Ahmed Fawzi
    INTERNATIONAL JOURNAL OF COMPUTER APPLICATIONS IN TECHNOLOGY, 2020, 62 (03) : 227 - 239