On the Alternatives for Composing Batch Refactoring

被引:11
|
作者
Fernandes, Eduardo [1 ]
Uchoa, Anderson [1 ]
Bibiano, Ana Carla [1 ]
Garcia, Alessandro [1 ]
机构
[1] Pontifical Catholic Univ Rio de Janeiro PUC Rio, OPUS Res Grp, Informat Dept DI, Rio De Janeiro, Brazil
关键词
batch refactoring; code smell; code review;
D O I
10.1109/IWoR.2019.00009
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Code refactoring is often performed for improving code structures through code transformations. Many transformations, e.g., extracting or moving a method, are applied for at least partially removing code smells. Each code smell is a symptom of a poor code structure that makes hard to read and change the program. Developers often compose two or more interrelated transformations in conjunction (batch refactoring) rather than applying a single transformation. For instance, developers often compose method extractions with method motions to better organize the features realized by classes. We have recently observed cases of batch refactoring performed along with code review in open source projects. We then noticed that composing batches capable of fully removing code smells is quite challenging. Especially, it requires carefully discussing on how two or more transformations complement one another and what to expect from the batch effect on code smell. This position aims to reason about multiple alternatives to support developers on composing their batches. These alternatives should make it easier to compose batches that remove code smells. For this purpose, we exemplify the role of semi-automated tools in gradually recommending transformations, thereby guiding the batch composition in each alternative.
引用
收藏
页码:9 / 12
页数:4
相关论文
共 50 条
  • [1] Composing alternatives
    Ivano Ciardelli
    Floris Roelofsen
    Nadine Theiler
    [J]. Linguistics and Philosophy, 2017, 40 : 1 - 36
  • [2] Composing alternatives
    Ciardelli, Ivano
    Roelofsen, Floris
    Theiler, Nadine
    [J]. LINGUISTICS AND PHILOSOPHY, 2017, 40 (01) : 1 - 36
  • [3] On the Customization of Batch Refactoring
    Oliveira, Daniel
    Bibiano, Ana Carla
    Garcia, Alessandro
    [J]. 2019 IEEE/ACM 3RD INTERNATIONAL WORKSHOP ON REFACTORING (IWOR 2019), 2019, : 13 - 16
  • [4] Evaluating alternatives for architecture-oriented refactoring
    Wohfarth, Sven
    Riebisch, Matthias
    [J]. 13TH ANNUAL IEEE INTERNATIONAL SYMPOSIUM AND WORKSHOP ON ENGINEERING OF COMPUTER BASED SYSTEMS, PROCEEDINGS: MASTERING THE COMPLEXITY OF COMPUTER-BASED SYSTEMS, 2006, : 73 - +
  • [5] Understanding the effect of batch refactoring on software quality
    Agnihotri, Mansi
    Chug, Anuradha
    [J]. INTERNATIONAL JOURNAL OF SYSTEM ASSURANCE ENGINEERING AND MANAGEMENT, 2024, 15 (06) : 2328 - 2336
  • [6] Composing Alternatives to a National Security Language Policy
    Wible, Scott
    [J]. COLLEGE ENGLISH, 2009, 71 (05) : 460 - 485
  • [7] Understanding the effect of batch refactoring on software quality
    Agnihotri, Mansi
    Chug, Anuradha
    [J]. International Journal of System Assurance Engineering and Management, 15 (06): : 2328 - 2336
  • [8] TOAD: A Tool for Recommending Auto-Refactoring Alternatives
    Antezana, Alejandra Siles
    [J]. 2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2019), 2019, : 174 - 176
  • [9] BATCH CLEANING ALTERNATIVES.
    Adams, Richard
    [J]. Wire Journal, 1976, 9 (09): : 107 - 111
  • [10] A Quantitative Study on Characteristics and Effect of Batch Refactoring on Code Smells
    Bibiano, Ana Carla
    Fernandes, Eduardo
    Oliveira, Daniel
    Garcia, Alessandro
    Kalinowski, Marcos
    Fonseca, Baldoino
    Oliveira, Roberto
    Oliveira, Anderson
    Cedrim, Diego
    [J]. 2019 13TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2019), 2019, : 31 - 41