Supporting Proactive Refactoring: An Exploratory Study on Decaying Modules and Their Prediction

被引:0
|
作者
Sae-Lim, Natthawute [1 ]
Hayashi, Shinpei [1 ]
Saeki, Motoshi [2 ]
机构
[1] Tokyo Inst Technol, Sch Comp, Tokyo 1528550, Japan
[2] Nanzan Univ, Fac Sci & Technol, Dept Software Engn, Nagoya, Aichi 4668673, Japan
来源
关键词
code quality; code smells; refactoring; CODE; SMELLS; BAD;
D O I
10.1587/transinf.2020EDP7255
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Code smells can be detected using tools such as a static analyzer that detects code smells based on source code metrics. Developers perform refactoring activities based on the result of such detection tools to improve source code quality. However, such an approach can be considered as reactive refactoring, i.e., developers react to code smells after they occur. This means that developers first suffer the effects of low-quality source code before they start solving code smells. In this study, we focus on proactive refactoring, i.e., refactoring source code before it becomes smelly. This approach would allow developers to maintain source code quality without having to suffer the impact of code smells. To support the proactive refactoring process, we propose a technique to detect decaying modules, which are non-smelly modules that are about to become smelly. We present empirical studies on open source projects with the aim of studying the characteristics of decaying modules. Additionally, to facilitate developers in the refactoring planning process, we perform a study on using a machine learning technique to predict decaying modules and report a factor that contributes most to the performance of the model under consideration.
引用
收藏
页码:1601 / 1615
页数:15
相关论文
共 50 条
  • [1] Toward Proactive Refactoring: An Exploratory Study on Decaying Modules
    Sae-Lim, Natthawute
    Hayashi, Shinpei
    Saeki, Motoshi
    [J]. 2019 IEEE/ACM 3RD INTERNATIONAL WORKSHOP ON REFACTORING (IWOR 2019), 2019, : 39 - 46
  • [2] Exploratory Study of Machine Learning Techniques for Supporting Failure Prediction
    Campos, Joao R.
    Vieira, Marco
    Costa, Ernesto
    [J]. 2018 14TH EUROPEAN DEPENDABLE COMPUTING CONFERENCE (EDCC 2018), 2018, : 9 - 16
  • [3] An Exploratory Study on the Relationship between Changes and Refactoring
    Palomba, Fabio
    Zaidman, Andy
    Oliveto, Rocco
    De Lucia, Andrea
    [J]. 2017 IEEE/ACM 25TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2017, : 176 - 185
  • [4] An Exploratory Study on Refactoring Documentation in Issues Handling
    AlOmar, Eman Abdullah
    Peruma, Anthony
    Mkaouer, Mohamed Wiem
    Newman, Christian D.
    Ouni, Ali
    [J]. arXiv, 2022,
  • [5] An Exploratory Study on Refactoring Documentation in Issues Handling
    Alomar, Eman Abdullah
    Peruma, Anthony
    Mkaouer, Mohamed Wiem
    Newman, Christian D.
    Ouni, Ali
    [J]. Proceedings - 2022 Mining Software Repositories Conference, MSR 2022, 2022, : 107 - 111
  • [6] An Exploratory Study on Refactoring Documentation in Issues Handling
    AlOmar, Eman Abdullah
    Peruma, Anthony
    Mkaouer, Mohamed Wiem
    Newman, Christian D.
    Ouni, Ali
    [J]. 2022 MINING SOFTWARE REPOSITORIES CONFERENCE (MSR 2022), 2022, : 107 - 111
  • [7] Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship Between Technical Debt and Refactoring
    Peruma, Anthony
    AlOmar, Eman Abdullah
    Newman, Christian D.
    Mkaouer, Mohamed Wiem
    Ouni, Ali
    [J]. 2022 MINING SOFTWARE REPOSITORIES CONFERENCE (MSR 2022), 2022, : 127 - 131
  • [8] An Exploratory Study on Extract Method Floss-Refactoring
    Moreira, Jaziel S.
    Alves, Everton L. G.
    Andrade, Wilkerson L.
    [J]. PROCEEDINGS OF THE 35TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING (SAC'20), 2020, : 1532 - 1539
  • [9] Supporting refactoring of BDD specifications-An empirical study
    Irshad, Mohsin
    Borstler, Jurgen
    Petersen, Kai
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2022, 141
  • [10] On the impact of Continuous Integration on refactoring practice: An exploratory study on TravisTorrent
    Saidani, Islem
    Ouni, Ali
    Mkaouer, Mohamed Wiem
    Palomba, Fabio
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2021, 138