On the Alternatives for Composing Batch Refactoring. Fernandes, E.; Uchôa, A.; Bibiano, A. C.; and Garcia, A. In Proceedings of the 3rd International Workshop on Refactoring (IWoR), pages 9–12, 2019. IEEE Press.
On the Alternatives for Composing Batch Refactoring [pdf]Paper  doi  abstract   bibtex   3 downloads  
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.
@inproceedings{FernandesAAA19,
  title={On the Alternatives for Composing Batch Refactoring},
  author={Eduardo Fernandes and Anderson Uchôa and Ana Carla Bibiano and Alessandro Garcia},
  booktitle={Proceedings of the 3rd International Workshop on Refactoring (IWoR)},
  pages={9--12},
  year={2019},
abstract={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.},
url = {https://anderson-uchoa.github.io/publications/FernandesAAA19.pdf},
doi = {10.1109/IWoR.2019.00009},
publisher={IEEE Press}
}
Downloads: 3