Assessment of the Code Refactoring Dataset Regarding the Maintainability of Methods

Abstract

Code refactoring has a solid theoretical background while being used in development practice at the same time. However, previous works found controversial results on the nature of code refactoring activities in practice. Both their application context and impact on code quality needs further examination.

Our paper encourages the investigation of code refactorings in practice by providing an excessive open dataset of source code metrics and applied refactorings through several releases of 7 open-source systems. We already demonstrated the practical value of the dataset by analyzing the quality attributes of the refactored source code classes and the values of source code metrics improved by those refactorings.

In this paper, we have gone one step deeper and explored the effect of code refactorings at the level of methods. We found that similarly to class level, lower maintainability indeed triggers more code refactorings in practice at the level of methods and these refactorings significantly decrease size, coupling and clone metrics.

Publication
Proceedings of the 16th International Conference on Computational Science and Its Applications (ICCSA 2016), Beijing, China, Pages 610–624

BibTeX:

@InProceedings{KHF16c,
    author    = {K\'ad\'ar, Istv\'an and Heged\H{u}s, P\'eter and Ferenc, Rudolf and Gyim\'othy, Tibor},
    title     = {Assessment of the Code Refactoring Dataset Regarding the Maintainability of Methods},
    booktitle = {Proceedings of the 16th International Conference on Computational Science and Its Applications (ICCSA 2016)},
    year      = {2016},
    pages     = {610--624},
    address   = {Beijing, China},
    month     = jul,
    publisher = {Springer International Publishing},
    doi       = {10.1007/978-3-319-42089-9_43},
    keywords  = {Code refactoring, Software maintainability, Empirical study, Refactoring dataset},
    url       = {https://link.springer.com/chapter/10.1007%2F978-3-319-42089-9_43},
}