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 条
  • [1] Mining software repositories
    1600, Japan Society for Software Science and Technology (30):
  • [2] Comparing approaches to analyze refactoring activity on software repositories
    Soares, Gustavo
    Gheyi, Rohit
    Murphy-Hill, Emerson
    Johnson, Brittany
    JOURNAL OF SYSTEMS AND SOFTWARE, 2013, 86 (04) : 1006 - 1022
  • [3] Use and Misuse of the Term "Experiment" in Mining Software Repositories Research
    Ayala, Claudia
    Turhan, Burak
    Franch, Xavier
    Juristo, Natalia
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (11) : 4229 - 4248
  • [4] Mining Open Software Repositories
    Alonso Abad, Jesus
    Lopez Nozal, Carlos
    Maudes Raedo, Jesus M.
    ERCIM NEWS, 2014, (99): : 23 - 24
  • [5] A Survey on Mining Software Repositories
    Jung, Woosung
    Lee, Eunjoo
    Wu, Chisu
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2012, E95D (05): : 1384 - 1406
  • [6] Ethics in the mining of software repositories
    Nicolas E. Gold
    Jens Krinke
    Empirical Software Engineering, 2022, 27
  • [7] Tools in Mining Software Repositories
    Chaturvedi, K. K.
    Singh, V. B.
    Singh, Prashast
    PROCEEDINGS OF THE 2013 13TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND ITS APPLICATIONS (ICCSA 2013), 2013, : 89 - 98
  • [8] Process mining software repositories
    Poncin, Wouter
    Serebrenik, Alexander
    van den Brand, Mark
    2011 15TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR), 2011, : 5 - 13
  • [9] Ethics in the mining of software repositories
    Gold, Nicolas E.
    Krinke, Jens
    EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (01)
  • [10] MapReduce as a General Framework to Support Research in Mining Software Repositories (MSR)
    Shang, Weiyi
    Jiang, Zhen Ming
    Adams, Bram
    Hassan, Ahmed E.
    2009 6TH IEEE INTERNATIONAL WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES, 2009, : 21 - 30